summaryrefslogtreecommitdiff
path: root/mysql-test/suite
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite')
-rw-r--r--mysql-test/suite/archive/archive-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_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.result31
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result68
-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.result294
-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.result61
-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/r/innodb_rc_insert_before_delete.result4
-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.inc70
-rw-r--r--mysql-test/suite/binlog/t/binlog_truncate_active_log.test104
-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.test87
-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/t/innodb_rc_insert_before_delete.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/encrypt_and_grep,undo3.rdiff32
-rw-r--r--mysql-test/suite/encryption/r/innodb-bad-key-change.result4
-rw-r--r--mysql-test/suite/encryption/r/innodb-bad-key-change2.result4
-rw-r--r--mysql-test/suite/encryption/r/innodb-bad-key-change4.result4
-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-compressed-blob.result4
-rw-r--r--mysql-test/suite/encryption/r/innodb-encryption-disable.result2
-rw-r--r--mysql-test/suite/encryption/r/innodb-missing-key.result2
-rw-r--r--mysql-test/suite/encryption/r/innodb-redo-badkey.result8
-rw-r--r--mysql-test/suite/encryption/r/innodb-redo-nokeys.result7
-rw-r--r--mysql-test/suite/encryption/r/innodb-remove-encryption,undo3.rdiff32
-rw-r--r--mysql-test/suite/encryption/r/innodb_encrypt_freed,undo3.rdiff62
-rw-r--r--mysql-test/suite/encryption/r/innodb_encrypt_key_rotation_age,undo3.rdiff52
-rw-r--r--mysql-test/suite/encryption/r/innodb_encrypt_log.result6
-rw-r--r--mysql-test/suite/encryption/r/tempfiles_encrypted.result25
-rw-r--r--mysql-test/suite/encryption/t/corrupted_during_recovery.combinations2
-rw-r--r--mysql-test/suite/encryption/t/corrupted_during_recovery.test4
-rw-r--r--mysql-test/suite/encryption/t/debug_key_management.test3
-rw-r--r--mysql-test/suite/encryption/t/encrypt_and_grep.test4
-rw-r--r--mysql-test/suite/encryption/t/encryption_key_corruption.combinations6
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change.test4
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change2.test4
-rw-r--r--mysql-test/suite/encryption/t/innodb-bad-key-change4.test4
-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-compressed-blob.test4
-rw-r--r--mysql-test/suite/encryption/t/innodb-encryption-alter.test4
-rw-r--r--mysql-test/suite/encryption/t/innodb-encryption-disable.test2
-rw-r--r--mysql-test/suite/encryption/t/innodb-key-rotation-disable.test2
-rw-r--r--mysql-test/suite/encryption/t/innodb-missing-key.test2
-rw-r--r--mysql-test/suite/encryption/t/innodb-redo-badkey.test8
-rw-r--r--mysql-test/suite/encryption/t/innodb-redo-nokeys.test7
-rw-r--r--mysql-test/suite/encryption/t/innodb-remove-encryption.test3
-rw-r--r--mysql-test/suite/encryption/t/innodb_encrypt_freed.test11
-rw-r--r--mysql-test/suite/encryption/t/innodb_encrypt_key_rotation_age.test9
-rw-r--r--mysql-test/suite/encryption/t/innodb_encrypt_log.test3
-rw-r--r--mysql-test/suite/encryption/t/innodb_encryption_is.test1
-rw-r--r--mysql-test/suite/encryption/t/innodb_first_page.test2
-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.def4
-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_FK_duplicate_client_insert.result40
-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_insert_bulk.result30
-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_FK_duplicate_client_insert.test4
-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_insert_bulk.test88
-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/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.test1
-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.result23
-rw-r--r--mysql-test/suite/gcol/r/innodb_virtual_debug_purge.result3
-rw-r--r--mysql-test/suite/gcol/r/innodb_virtual_purge.result6
-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.test28
-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/gcol/t/innodb_virtual_purge.test6
-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/alter_table_upgrade.result4
-rw-r--r--mysql-test/suite/innodb/r/binlog_consistent.result6
-rw-r--r--mysql-test/suite/innodb/r/change_column_collation.result131
-rw-r--r--mysql-test/suite/innodb/r/create-index-debug.result23
-rw-r--r--mysql-test/suite/innodb/r/create_table_insert_skip_locked.result72
-rw-r--r--mysql-test/suite/innodb/r/cursor-restore-locking.result4
-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/deadlock_victim_race.result46
-rw-r--r--mysql-test/suite/innodb/r/deadlock_wait_lock_race.result27
-rw-r--r--mysql-test/suite/innodb/r/deadlock_wait_thr_race.result33
-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/dropdb_cs.result16
-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/ibuf_not_empty.result4
-rw-r--r--mysql-test/suite/innodb/r/import_bugs.result14
-rw-r--r--mysql-test/suite/innodb/r/import_corrupted.result1
-rw-r--r--mysql-test/suite/innodb/r/import_tablespace_race.result1
-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.result55
-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-fkcheck.result8
-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.result52
-rw-r--r--mysql-test/suite/innodb/r/innodb-table-online.result102
-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.result21
-rw-r--r--mysql-test/suite/innodb/r/innodb-wl5522.result1
-rw-r--r--mysql-test/suite/innodb/r/innodb-wl5980-debug.result27
-rw-r--r--mysql-test/suite/innodb/r/innodb.result48
-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_ctype_ldml.result50
-rw-r--r--mysql-test/suite/innodb/r/innodb_ctype_utf8.result4
-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.result10
-rw-r--r--mysql-test/suite/innodb/r/innodb_scrub.result15
-rw-r--r--mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result44
-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.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_sys_semaphore_waits.result27
-rw-r--r--mysql-test/suite/innodb/r/innodb_wl6326.result405
-rw-r--r--mysql-test/suite/innodb/r/insert-before-delete.result4
-rw-r--r--mysql-test/suite/innodb/r/insert_into_empty.result254
-rw-r--r--mysql-test/suite/innodb/r/insert_into_empty_debug.result32
-rw-r--r--mysql-test/suite/innodb/r/insert_into_empty_notembedded.result30
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_charset,redundant.rdiff20
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_charset.result184
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_crash.result39
-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/leaf_page_corrupted_during_recovery.result4
-rw-r--r--mysql-test/suite/innodb/r/lock_delete_updated.result2
-rw-r--r--mysql-test/suite/innodb/r/lock_insert_into_empty.result57
-rw-r--r--mysql-test/suite/innodb/r/lock_move_wait_lock_race.result34
-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/mdev-14846.result3
-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/page_id_innochecksum.result3
-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.result73
-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_crash.result4
-rw-r--r--mysql-test/suite/innodb/r/truncate_foreign.result35
-rw-r--r--mysql-test/suite/innodb/r/truncate_missing.result2
-rw-r--r--mysql-test/suite/innodb/r/trx_id_future.result10
-rw-r--r--mysql-test/suite/innodb/r/undo_truncate.result5
-rw-r--r--mysql-test/suite/innodb/r/update-cascade.result8
-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.test59
-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.test60
-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/change_column_collation.test135
-rw-r--r--mysql-test/suite/innodb/t/corrupted_during_recovery.test4
-rw-r--r--mysql-test/suite/innodb/t/create-index-debug.test34
-rw-r--r--mysql-test/suite/innodb/t/create_table_insert_skip_locked.test73
-rw-r--r--mysql-test/suite/innodb/t/cursor-restore-locking.test6
-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/deadlock_victim_race.test113
-rw-r--r--mysql-test/suite/innodb/t/deadlock_wait_lock_race.opt1
-rw-r--r--mysql-test/suite/innodb/t/deadlock_wait_lock_race.test67
-rw-r--r--mysql-test/suite/innodb/t/deadlock_wait_thr_race.opt1
-rw-r--r--mysql-test/suite/innodb/t/deadlock_wait_thr_race.test71
-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/dropdb_cs.test17
-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/ibuf_not_empty.test4
-rw-r--r--mysql-test/suite/innodb/t/import_bugs.test16
-rw-r--r--mysql-test/suite/innodb/t/import_corrupted.test9
-rw-r--r--mysql-test/suite/innodb/t/import_tablespace_race.test1
-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-change-buffer-recovery-master.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb-change-buffer-recovery.test82
-rw-r--r--mysql-test/suite/innodb/t/innodb-dict.test1
-rw-r--r--mysql-test/suite/innodb/t/innodb-fkcheck.test13
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-debug.test10
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-online.test51
-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.test57
-rw-r--r--mysql-test/suite/innodb/t/innodb-truncate.test16
-rw-r--r--mysql-test/suite/innodb/t/innodb-wl5522-debug.test24
-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-wl5980-debug.test52
-rw-r--r--mysql-test/suite/innodb/t/innodb.test16
-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_bug14147491.test7
-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_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_scrub.test17
-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/innodb_wl6326.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_wl6326.test519
-rw-r--r--mysql-test/suite/innodb/t/insert-before-delete.test4
-rw-r--r--mysql-test/suite/innodb/t/insert_into_empty.test272
-rw-r--r--mysql-test/suite/innodb/t/insert_into_empty_debug.test36
-rw-r--r--mysql-test/suite/innodb/t/insert_into_empty_notembedded.test43
-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_charset.test23
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_crash.test47
-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.test10
-rw-r--r--mysql-test/suite/innodb/t/lock_delete_updated.test2
-rw-r--r--mysql-test/suite/innodb/t/lock_insert_into_empty.test63
-rw-r--r--mysql-test/suite/innodb/t/lock_move_wait_lock_race.test58
-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/mdev-14846.test3
-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.test63
-rw-r--r--mysql-test/suite/innodb/t/page_id_innochecksum.test8
-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.test49
-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_crash.test6
-rw-r--r--mysql-test/suite/innodb/t/truncate_foreign.test34
-rw-r--r--mysql-test/suite/innodb/t/truncate_missing.test2
-rw-r--r--mysql-test/suite/innodb/t/trx_id_future.test14
-rw-r--r--mysql-test/suite/innodb/t/undo_truncate.opt1
-rw-r--r--mysql-test/suite/innodb/t/undo_truncate.test3
-rw-r--r--mysql-test/suite/innodb/t/update-cascade.combinations5
-rw-r--r--mysql-test/suite/innodb/t/update-cascade.test8
-rw-r--r--mysql-test/suite/innodb/t/xa_recovery.test10
-rw-r--r--mysql-test/suite/innodb_fts/r/concurrent_insert.result32
-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/fulltext_misc.result3
-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.result18
-rw-r--r--mysql-test/suite/innodb_fts/r/misc_debug2.result4
-rw-r--r--mysql-test/suite/innodb_fts/r/sync.result18
-rw-r--r--mysql-test/suite/innodb_fts/r/sync_block.result83
-rw-r--r--mysql-test/suite/innodb_fts/r/versioning.result2
-rw-r--r--mysql-test/suite/innodb_fts/t/concurrent_insert.test32
-rw-r--r--mysql-test/suite/innodb_fts/t/crash_recovery.opt1
-rw-r--r--mysql-test/suite/innodb_fts/t/crash_recovery.test83
-rw-r--r--mysql-test/suite/innodb_fts/t/fulltext_misc.test3
-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.test28
-rw-r--r--mysql-test/suite/innodb_fts/t/misc_debug2.test4
-rw-r--r--mysql-test/suite/innodb_fts/t/sync.test4
-rw-r--r--mysql-test/suite/innodb_fts/t/sync_block.test125
-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/rtree_split.result12
-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/rtree_split.test15
-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.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.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.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.result16
-rw-r--r--mysql-test/suite/innodb_zip/r/prefix_index_liftedlimit.result2
-rw-r--r--mysql-test/suite/innodb_zip/r/restart.result56
-rw-r--r--mysql-test/suite/innodb_zip/r/wl5522_debug_zip.result19
-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/page_size.test15
-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.test27
-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.result1015
-rw-r--r--mysql-test/suite/json/r/json_table_binlog.result26
-rw-r--r--mysql-test/suite/json/r/json_table_mysql.result1662
-rw-r--r--mysql-test/suite/json/r/json_table_notembedded.result20
-rw-r--r--mysql-test/suite/json/t/json_table.test876
-rw-r--r--mysql-test/suite/json/t/json_table_binlog.test25
-rw-r--r--mysql-test/suite/json/t/json_table_mysql.test1493
-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/encrypt-no-key.result10
-rw-r--r--mysql-test/suite/maria/encrypt-no-key.test10
-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-recover.result5
-rw-r--r--mysql-test/suite/maria/maria-recover.test7
-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/maria/rollback.result8
-rw-r--r--mysql-test/suite/maria/rollback.test2
-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.test66
-rw-r--r--mysql-test/suite/mariabackup/alter_copy_race.result24
-rw-r--r--mysql-test/suite/mariabackup/alter_copy_race.test51
-rw-r--r--mysql-test/suite/mariabackup/big_innodb_log.result1
-rw-r--r--mysql-test/suite/mariabackup/big_innodb_log.test2
-rw-r--r--mysql-test/suite/mariabackup/compress_qpress.test4
-rw-r--r--mysql-test/suite/mariabackup/defer_space.result27
-rw-r--r--mysql-test/suite/mariabackup/defer_space.test68
-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.test5
-rw-r--r--mysql-test/suite/mariabackup/incremental_backup_newdb_before_inc.result18
-rw-r--r--mysql-test/suite/mariabackup/incremental_backup_newdb_before_inc.test35
-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/innodb_redo_log_overwrite.test1
-rw-r--r--mysql-test/suite/mariabackup/innodb_redo_overwrite.test1
-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.result3
-rw-r--r--mysql-test/suite/mariabackup/mdev-14447.test12
-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_replication_applier_status_by_worker.result14
-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/mdl_func.test2
-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/statement_program_concurrency.test4
-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_ignored_errors.inc3
-rw-r--r--mysql-test/suite/rpl/r/parallel_backup.result25
-rw-r--r--mysql-test/suite/rpl/r/parallel_backup_lsu_off.result25
-rw-r--r--mysql-test/suite/rpl/r/parallel_backup_slave_binlog_off.result25
-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.result163
-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_old_master_29078.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_29322.result8
-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.result274
-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.test188
-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_gco_wait_kill.test3
-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_parallel_slave_bgc_kill.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_stop_slave.test4
-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.test221
-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.result33
-rw-r--r--mysql-test/suite/stress/t/deadlock_drop_table.test37
-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.result12
-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/debug_sync_basic.result6
-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_debug.result2
-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.result20
-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/disabled.def (renamed from mysql-test/suite/innodb/disabled.def)3
-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.result66
-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.test69
-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
1429 files changed, 49074 insertions, 19010 deletions
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 7777a93f5d7..8f11296b73c 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..8475f3c8c76
--- /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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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..c75bbcffc27
--- /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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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..29fb445625f
--- /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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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..5dd877adedd
--- /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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+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..293be8d218c
--- /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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 c36e5437cce..b827c17af19 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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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 9c55e8bc449..cc04d98c7c4 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=[a-zA-Z0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--replace_regex /collation_server=[0-9]+/collation_server=X/ /character_set_client=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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_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 3287a19a3bf..9195f9fd3ad 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 01a28690a03..d8a79c2033b 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,15 +2266,15 @@ 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, @@session.explicit_defaults_for_timestamp=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=utf8,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
+/*!\C utf8mb3 *//*!*/;
+SET @@session.character_set_client=utf8mb3,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (
@@ -5273,15 +5275,15 @@ 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, @@session.explicit_defaults_for_timestamp=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=utf8,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
+/*!\C utf8mb3 *//*!*/;
+SET @@session.character_set_client=utf8mb3,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (
@@ -5673,15 +5675,15 @@ 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, @@session.explicit_defaults_for_timestamp=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=utf8,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
+/*!\C utf8mb3 *//*!*/;
+SET @@session.character_set_client=utf8mb3,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (
@@ -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,15 +6313,15 @@ 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, @@session.explicit_defaults_for_timestamp=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=utf8,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
+/*!\C utf8mb3 *//*!*/;
+SET @@session.character_set_client=utf8mb3,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (
@@ -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 123e2d53ae4..60495f2b534 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
@@ -2264,15 +2264,15 @@ 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, @@session.explicit_defaults_for_timestamp=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=utf8,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
+/*!\C utf8mb3 *//*!*/;
+SET @@session.character_set_client=utf8mb3,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (
@@ -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,15 +5296,15 @@ 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, @@session.explicit_defaults_for_timestamp=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=utf8,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
+/*!\C utf8mb3 *//*!*/;
+SET @@session.character_set_client=utf8mb3,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (
@@ -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,15 +5702,15 @@ 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, @@session.explicit_defaults_for_timestamp=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=utf8,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
+/*!\C utf8mb3 *//*!*/;
+SET @@session.character_set_client=utf8mb3,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (
@@ -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,15 +6350,15 @@ 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, @@session.explicit_defaults_for_timestamp=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=utf8,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
+/*!\C utf8mb3 *//*!*/;
+SET @@session.character_set_client=utf8mb3,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (
@@ -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 8d67b348420..748b92df1a8 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 05e4060c10b..ffdb31cdbeb 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, @@session.explicit_defaults_for_timestamp=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, @@session.explicit_defaults_for_timestamp=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, @@session.explicit_defaults_for_timestamp=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, @@session.explicit_defaults_for_timestamp=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, @@session.explicit_defaults_for_timestamp=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, @@session.explicit_defaults_for_timestamp=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 c9ee047afbf..74aef814785 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, @@session.explicit_defaults_for_timestamp=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 80d74a951cb..dc7750b975e 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, @@session.explicit_defaults_for_timestamp=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, @@session.explicit_defaults_for_timestamp=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 e4041b16306..546561bf522 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_binlog.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_binlog.result
@@ -335,7 +335,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 #-#-#
@@ -361,7 +361,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;
@@ -507,6 +507,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 a6f5cee1e25..e449025eee9 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, @@session.explicit_defaults_for_timestamp=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 2da2f721786..5e85a72f693 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..85d37534c0b
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_truncate_active_log.result
@@ -0,0 +1,294 @@
+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 t4 (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,,;
+connect master4,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-8
+connection master4;
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL master4_ready WAIT_FOR signal_never_arrives";
+INSERT INTO t4 VALUES (13);
+connection master3;
+SET DEBUG_SYNC= "now WAIT_FOR master4_ready";
+SELECT @@global.gtid_binlog_pos as 'Before the crash and never logged trx';
+Before the crash and never logged trx
+0-1-8
+connection default;
+# Kill the server
+disconnect master1;
+disconnect master2;
+disconnect master3;
+disconnect master4;
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1 --log-warnings=3
+FOUND 1 /Successfully truncated.*to remove transactions starting from GTID 0-1-7/ 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 t4 (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-6
+"One row should be present in table 't'"
+SELECT * FROM t;
+f
+10
+"No row should be present in table 't4'"
+SELECT * FROM t4;
+f
+DELETE FROM t;
+# Case B.
+connect master1,localhost,root,,;
+connect master2,localhost,root,,;
+connect master3,localhost,root,,;
+connect master4,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-11
+connection master4;
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL master4_ready WAIT_FOR signal_never_arrives";
+INSERT INTO t4 VALUES (13);
+connection master3;
+SET DEBUG_SYNC= "now WAIT_FOR master4_ready";
+SELECT @@global.gtid_binlog_pos as 'Before the crash and never logged trx';
+Before the crash and never logged trx
+0-1-11
+connection default;
+# Kill the server
+disconnect master1;
+disconnect master2;
+disconnect master3;
+disconnect master4;
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1 --log-warnings=3
+FOUND 1 /Successfully truncated.*to remove transactions starting from GTID 0-1-11/ 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-10
+"One row should be present in table 't'"
+SELECT * FROM t;
+f
+10
+"No row should be present in table 't4'"
+SELECT * FROM t4;
+f
+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,,;
+connect master4,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-16
+connection master4;
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL master4_ready WAIT_FOR signal_never_arrives";
+INSERT INTO t4 VALUES (13);
+connection master3;
+SET DEBUG_SYNC= "now WAIT_FOR master4_ready";
+SELECT @@global.gtid_binlog_pos as 'Before the crash and never logged trx';
+Before the crash and never logged trx
+0-1-16
+connection default;
+# Kill the server
+disconnect master1;
+disconnect master2;
+disconnect master3;
+disconnect master4;
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1 --log-warnings=3
+FOUND 1 /Successfully truncated.*to remove transactions starting from GTID 0-1-15/ 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-14
+"One row should be present in table 't'"
+SELECT * FROM t;
+f
+10
+"No row should be present in table 't4'"
+SELECT * FROM t4;
+f
+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,,;
+connect master4,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-21
+connection master4;
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL master4_ready WAIT_FOR signal_never_arrives";
+INSERT INTO t4 VALUES (13);
+connection master3;
+SET DEBUG_SYNC= "now WAIT_FOR master4_ready";
+SELECT @@global.gtid_binlog_pos as 'Before the crash and never logged trx';
+Before the crash and never logged trx
+0-1-21
+connection default;
+# Kill the server
+disconnect master1;
+disconnect master2;
+disconnect master3;
+disconnect master4;
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1 --log-warnings=3
+FOUND 1 /Successfully truncated.*to remove transactions starting from GTID 0-1-21/ 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-20
+"One row should be present in table 't'"
+SELECT * FROM t;
+f
+10
+"No row should be present in table 't4'"
+SELECT * FROM t4;
+f
+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..8425e0ad17a
--- /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";
+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..271e3c50b19
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_truncate_multi_log.result
@@ -0,0 +1,61 @@
+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";
+connect master3,localhost,root,,;
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL master3_ready WAIT_FOR master3_go_never_arrives";
+INSERT INTO ti VALUES (4, "not gonna be log therefore survive"),(5, "ditto");
+connection default;
+SET DEBUG_SYNC= "now WAIT_FOR master3_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;
+disconnect master3;
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1 --log-warnings=3
+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 9c238fa2874..7d65a8ec2b3 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/r/innodb_rc_insert_before_delete.result b/mysql-test/suite/binlog/r/innodb_rc_insert_before_delete.result
index ac7981990f1..d4bd5ee07bf 100644
--- a/mysql-test/suite/binlog/r/innodb_rc_insert_before_delete.result
+++ b/mysql-test/suite/binlog/r/innodb_rc_insert_before_delete.result
@@ -10,12 +10,12 @@ SELECT * FROM t WHERE sk = 100 FOR UPDATE;
pk sk
10 100
connect con2,localhost,root;
-SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL insert_wait_started";
+SET DEBUG_SYNC="lock_wait_start SIGNAL insert_wait_started";
INSERT INTO t VALUES (5, 100) # trx 1;
connect con3,localhost,root;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET DEBUG_SYNC="now WAIT_FOR insert_wait_started";
-SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL delete_started_waiting";
+SET DEBUG_SYNC="lock_wait_start SIGNAL delete_started_waiting";
BEGIN;
UPDATE t SET sk = 200 WHERE sk = 100; # trx 2;
connection con1;
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 1d4cf3fca79..53bf932e2eb 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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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 516bbe0a6d3..113e4ed7c6b 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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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 11d1ff80996..3b054884925 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=[a-zA-Z0-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=[a-zA-Z0-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 f5761180dd7..cc46a0f6da6 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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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 a87fc8b8463..045be97d3ae 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
reset master; # clear up binlogs
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..68ac752725e
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_truncate_active_log.inc
@@ -0,0 +1,70 @@
+connect(master1,localhost,root,,);
+connect(master2,localhost,root,,);
+connect(master3,localhost,root,,);
+connect(master4,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 master4
+# Simulate prepared & not-logged trx; it will never recover.
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL master4_ready WAIT_FOR signal_never_arrives";
+--send INSERT INTO t4 VALUES (13)
+
+--connection master3
+SET DEBUG_SYNC= "now WAIT_FOR master4_ready";
+SELECT @@global.gtid_binlog_pos as 'Before the crash and never logged trx';
+
+--connection default
+--source include/kill_mysqld.inc
+--disconnect master1
+--disconnect master2
+--disconnect master3
+--disconnect master4
+
+#
+# Server restart
+#
+--let $restart_parameters= --rpl-semi-sync-slave-enabled=1 --sync-binlog=1 --log-warnings=3
+--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;
+--echo "No row should be present in table 't4'"
+SELECT * FROM t4;
+
+# 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..7c63a853da6
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_truncate_active_log.test
@@ -0,0 +1,104 @@
+# ==== 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 t4 (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-7
+--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-11
+--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-15
+--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-21
+--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..12b0a743916
--- /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"
+# 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..079c79b2984
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_truncate_multi_log.test
@@ -0,0 +1,87 @@
+# ==== 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";
+
+connect(master3,localhost,root,,);
+# The 3nd trx for recovery, it won't get into binlog nor therefore recover
+SET DEBUG_SYNC= "ha_commit_trans_before_log_and_order SIGNAL master3_ready WAIT_FOR master3_go_never_arrives";
+--send INSERT INTO ti VALUES (4, "not gonna be log therefore survive"),(5, "ditto")
+
+--connection default
+SET DEBUG_SYNC= "now WAIT_FOR master3_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
+--disconnect master3
+
+#
+# Server restart
+#
+--let $restart_parameters= --rpl-semi-sync-slave-enabled=1 --sync-binlog=1 --log-warnings=3
+--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 f8f76ae8b11..76379f35dae 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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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=[a-zA-Z0-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/t/innodb_rc_insert_before_delete.test b/mysql-test/suite/binlog/t/innodb_rc_insert_before_delete.test
index 58974edc84c..228d9778f56 100644
--- a/mysql-test/suite/binlog/t/innodb_rc_insert_before_delete.test
+++ b/mysql-test/suite/binlog/t/innodb_rc_insert_before_delete.test
@@ -25,7 +25,7 @@ BEGIN; # trx 0
SELECT * FROM t WHERE sk = 100 FOR UPDATE;
--connect (con2,localhost,root)
-SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL insert_wait_started";
+SET DEBUG_SYNC="lock_wait_start SIGNAL insert_wait_started";
# trx 1 is locked on try to read the record in secondary index during duplicates
# check. It's the first in waiting queue, that's why it will be woken up firstly
# when trx 0 commits.
@@ -34,7 +34,7 @@ SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL insert_wait_started";
--connect (con3,localhost,root)
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET DEBUG_SYNC="now WAIT_FOR insert_wait_started";
-SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL delete_started_waiting";
+SET DEBUG_SYNC="lock_wait_start SIGNAL delete_started_waiting";
# trx 2 can delete (5, 100) on master, but not on slave, as on slave trx 1
# can insert (5, 100) after trx 2 positioned it's cursor. Trx 2 lock is placed
# in waiting queue after trx 1 lock, but its persistent cursor position was
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 052a07f10a6..80b9c5d476c 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, @@session.explicit_defaults_for_timestamp=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, @@session.explicit_defaults_for_timestamp=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, @@session.explicit_defaults_for_timestamp=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 10fc92480c0..2709fe048d9 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 COLLATE utf8_general_ci DEFAULT NULL
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT ''
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT ''
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL
+ "a" tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT ''
+ "a" tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL
+ "a" text /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT ''
+ "a" text /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" text /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL
+ "a" mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT ''
+ "a" mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL
+ "a" longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT ''
+ "a" longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 7f8d14d813e..28f27873415 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 COLLATE utf8_general_ci NOT NULL
+ "SQLERRM" varchar(512) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 096527342d0..ef0acea5da1 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 f8b984fa5d4..3b9be4585d4 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 COLLATE utf8_general_ci
+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 COLLATE utf8mb3_general_ci
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 COLLATE utf8_general_ci DEFAULT NULL
+ "a" varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci
+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 COLLATE utf8mb3_general_ci
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 COLLATE utf8_general_ci DEFAULT NULL
+ "a" varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 a431e11f508..3ed11d7f9de 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 COLLATE utf8_general_ci DEFAULT NULL,
- "rec2.a" varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
- "rec3.a" varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL
+ "rec1.a" varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+ "rec2.a" varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+ "rec3.a" varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL,
- "rec.var" char(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL
+ "var" char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+ "rec.var" char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL,
- "rec.var" varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL
+ "var" varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+ "rec.var" varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL,
- "rec.var" text CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL
+ "var" text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+ "rec.var" text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL,
- "rec.var" tinytext CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL
+ "var" tinytext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+ "rec.var" tinytext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL,
- "rec.var" mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL
+ "var" mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+ "rec.var" mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL,
- "rec.var" longtext CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL
+ "var" longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+ "rec.var" longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 44365c8ed71..2e7b21b2d75 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 COLLATE utf8_general_ci DEFAULT NULL,
+ "cvu" varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL,
+ "cvu" varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 COLLATE utf8_general_ci DEFAULT NULL,
+ "tables_table_name" varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
"tables_table_rows" bigint(21) unsigned DEFAULT NULL,
- "processlist_info" longtext CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
+ "processlist_info" longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci 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 4a44872dd6f..0092c869d50 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/encrypt_and_grep,undo3.rdiff b/mysql-test/suite/encryption/r/encrypt_and_grep,undo3.rdiff
new file mode 100644
index 00000000000..210c2a61a17
--- /dev/null
+++ b/mysql-test/suite/encryption/r/encrypt_and_grep,undo3.rdiff
@@ -0,0 +1,32 @@
+--- encrypt_and_grep.result 2022-09-02 22:36:21.669650278 +0530
++++ encrypt_and_grep.reject 2022-11-29 19:01:22.080027528 +0530
+@@ -14,6 +14,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -35,6 +38,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -62,6 +68,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
diff --git a/mysql-test/suite/encryption/r/innodb-bad-key-change.result b/mysql-test/suite/encryption/r/innodb-bad-key-change.result
index 255dde207ed..1ca9d784d57 100644
--- a/mysql-test/suite/encryption/r/innodb-bad-key-change.result
+++ b/mysql-test/suite/encryption/r/innodb-bad-key-change.result
@@ -1,8 +1,8 @@
call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` (has an unreadable root page|is corrupted)");
-call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[12]\\.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: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[12]\\.ibd' cannot be decrypted; key_version=1");
+call mtr.add_suppression("failed to read \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t1.ibd looks corrupted; key_version=1");
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` is corrupted");
call mtr.add_suppression("File '.*mysql-test.std_data.keysbad3\\.txt' not found");
diff --git a/mysql-test/suite/encryption/r/innodb-bad-key-change2.result b/mysql-test/suite/encryption/r/innodb-bad-key-change2.result
index 3799b4dc087..b4552651ae6 100644
--- a/mysql-test/suite/encryption/r/innodb-bad-key-change2.result
+++ b/mysql-test/suite/encryption/r/innodb-bad-key-change2.result
@@ -1,6 +1,6 @@
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted|does not exist.*is trying to rename)");
-call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1(new)?\\.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: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1(new)?\\.ibd' cannot be decrypted; key_version=1");
+call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
call mtr.add_suppression("InnoDB: Tablespace for table \`test\`.\`t1\` is set as discarded\\.");
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
diff --git a/mysql-test/suite/encryption/r/innodb-bad-key-change4.result b/mysql-test/suite/encryption/r/innodb-bad-key-change4.result
index ad218457068..5a3e275dda9 100644
--- a/mysql-test/suite/encryption/r/innodb-bad-key-change4.result
+++ b/mysql-test/suite/encryption/r/innodb-bad-key-change4.result
@@ -1,6 +1,6 @@
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
-call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1\\.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: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1\\.ibd' cannot be decrypted; key_version=1");
+call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot decrypt \\[page id: space=");
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-compressed-blob.result b/mysql-test/suite/encryption/r/innodb-compressed-blob.result
index de20b554a67..0dc873b99ab 100644
--- a/mysql-test/suite/encryption/r/innodb-compressed-blob.result
+++ b/mysql-test/suite/encryption/r/innodb-compressed-blob.result
@@ -1,5 +1,5 @@
-call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted\\.");
-call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
+call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted; key_version=1");
+call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Unable to decompress ..test.t[1-3]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` is corrupted");
# Restart mysqld --file-key-management-filename=keys2.txt
diff --git a/mysql-test/suite/encryption/r/innodb-encryption-disable.result b/mysql-test/suite/encryption/r/innodb-encryption-disable.result
index bb4f02b9c39..179bc550617 100644
--- a/mysql-test/suite/encryption/r/innodb-encryption-disable.result
+++ b/mysql-test/suite/encryption/r/innodb-encryption-disable.result
@@ -1,6 +1,6 @@
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[15]\\.ibd' cannot be decrypted\\.");
-call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
+call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t[15].ibd looks corrupted; key_version=1");
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` is corrupted");
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
diff --git a/mysql-test/suite/encryption/r/innodb-missing-key.result b/mysql-test/suite/encryption/r/innodb-missing-key.result
index ecb4ad2c40e..6bacbfe78b2 100644
--- a/mysql-test/suite/encryption/r/innodb-missing-key.result
+++ b/mysql-test/suite/encryption/r/innodb-missing-key.result
@@ -1,6 +1,6 @@
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.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: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file .*test.t[12].ibd looks corrupted; key_version=1");
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
# Start server with keys2.txt
diff --git a/mysql-test/suite/encryption/r/innodb-redo-badkey.result b/mysql-test/suite/encryption/r/innodb-redo-badkey.result
index 87377a01479..34fd043a7bd 100644
--- a/mysql-test/suite/encryption/r/innodb-redo-badkey.result
+++ b/mysql-test/suite/encryption/r/innodb-redo-badkey.result
@@ -1,10 +1,14 @@
call mtr.add_suppression("Plugin 'file_key_management'");
call mtr.add_suppression("Plugin 'InnoDB' init function returned error.");
-call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][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: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[1-4]\\.ibd' cannot be decrypted; key_version=1");
+call mtr.add_suppression("InnoDB: File '.*test/t[1234]\\.ibd' is corrupted");
+call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Unable to decompress .*.test.t[12]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*test.t[12]\\.ibd'");
call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'");
+call mtr.add_suppression("InnoDB: OPT_PAGE_CHECKSUM mismatch");
+call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1 to ignore corruption");
+call mtr.add_suppression("InnoDB: (Unable to apply log to|Discarding log for) corrupted page ");
call mtr.add_suppression("InnoDB: Plugin initialization aborted");
call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot decrypt \\[page id: space=");
diff --git a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
index 8c92fd07388..ba8f5b2fe85 100644
--- a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
+++ b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
@@ -4,8 +4,11 @@ call mtr.add_suppression("InnoDB: Recovery cannot access file");
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: (Unable to apply log to|Discarding log for) corrupted page ");
+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'");
+call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'");
+call mtr.add_suppression("InnoDB: OPT_PAGE_CHECKSUM mismatch");
+call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1 to ignore corruption");
# 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-remove-encryption,undo3.rdiff b/mysql-test/suite/encryption/r/innodb-remove-encryption,undo3.rdiff
new file mode 100644
index 00000000000..421c962bd2e
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb-remove-encryption,undo3.rdiff
@@ -0,0 +1,32 @@
+--- innodb-remove-encryption.result 2022-09-02 20:44:59.960430396 +0530
++++ innodb-remove-encryption,undo3.reject 2022-11-29 19:02:24.813094277 +0530
+@@ -13,6 +13,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -24,6 +27,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -36,6 +42,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
diff --git a/mysql-test/suite/encryption/r/innodb_encrypt_freed,undo3.rdiff b/mysql-test/suite/encryption/r/innodb_encrypt_freed,undo3.rdiff
new file mode 100644
index 00000000000..36eea901a6e
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_encrypt_freed,undo3.rdiff
@@ -0,0 +1,62 @@
+--- innodb_encrypt_freed.result 2021-03-23 15:44:14.466377983 +0530
++++ innodb_encrypt_freed,undo3.reject 2022-11-29 19:04:24.987010571 +0530
+@@ -14,6 +14,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -29,6 +32,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -40,6 +46,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -55,6 +64,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -70,6 +82,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -87,6 +102,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
diff --git a/mysql-test/suite/encryption/r/innodb_encrypt_key_rotation_age,undo3.rdiff b/mysql-test/suite/encryption/r/innodb_encrypt_key_rotation_age,undo3.rdiff
new file mode 100644
index 00000000000..476b0b3f213
--- /dev/null
+++ b/mysql-test/suite/encryption/r/innodb_encrypt_key_rotation_age,undo3.rdiff
@@ -0,0 +1,52 @@
+--- innodb_encrypt_key_rotation_age.result 2022-06-02 16:15:08.395122720 +0530
++++ innodb_encrypt_key_rotation_age,undo3.reject 2022-11-29 19:06:07.964542115 +0530
+@@ -12,6 +12,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -27,6 +30,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -39,6 +45,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -59,6 +68,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
+@@ -71,6 +83,9 @@
+ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+ NAME
+ innodb_system
++innodb_undo001
++innodb_undo002
++innodb_undo003
+ mysql/innodb_index_stats
+ mysql/innodb_table_stats
+ mysql/transaction_registry
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 5b9dab62c01..8582d5dc713 100644
--- a/mysql-test/suite/encryption/r/tempfiles_encrypted.result
+++ b/mysql-test/suite/encryption/r/tempfiles_encrypted.result
@@ -4284,6 +4284,7 @@ SUM(b) OVER (PARTITION BY a) ROW_NUMBER() OVER (PARTITION BY b)
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;
@@ -4398,6 +4399,30 @@ row_number() OVER (order by a)
3
drop table t1;
#
+# MDEV-28206 SIGSEGV in Item_field::fix_fields when using LEAD...OVER
+#
+CREATE TABLE t(c1 INT);
+CREATE FUNCTION f() RETURNS INT READS SQL DATA BEGIN
+DECLARE v INT;
+SELECT 1 INTO v FROM (SELECT c1,COALESCE(LEAD(a2.c1) OVER (PARTITION BY a2.c1 ORDER BY a2.c1),a2.c1) AS a1 FROM (t a2 JOIN t a3 USING (c1))) a4;
+RETURN 1;
+END//
+SELECT f(),f();
+f() f()
+1 1
+EXECUTE IMMEDIATE "SELECT LEAD(c1) OVER (ORDER BY c1) FROM t NATURAL JOIN t AS a;";
+LEAD(c1) OVER (ORDER BY c1)
+EXECUTE IMMEDIATE "SELECT SUM(c1) OVER (ORDER BY c1) FROM t NATURAL JOIN t AS a;";
+SUM(c1) OVER (ORDER BY c1)
+EXECUTE IMMEDIATE "SELECT LEAD(c) OVER (ORDER BY c) FROM (SELECT 1 AS c) AS a NATURAL JOIN (SELECT 1 AS c) AS b;";
+LEAD(c) OVER (ORDER BY c)
+NULL
+DROP FUNCTION f;
+DROP TABLE t;
+#
+# End of 10.6 tests
+#
+#
# MDEV-23867: select crash in compute_window_func
#
set @save_sort_buffer_size=@@sort_buffer_size;
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..bccac2bb182 100644
--- a/mysql-test/suite/encryption/t/corrupted_during_recovery.test
+++ b/mysql-test/suite/encryption/t/corrupted_during_recovery.test
@@ -9,12 +9,10 @@ call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed r
call mtr.add_suppression("InnoDB: Failed to read page [123] from file '.*test.t1\\.ibd': Table is encrypted but decrypt failed");
call mtr.add_suppression("InnoDB: The page \\[page id: space=\\d+, page number=3\\] in file '.*test.t1\\.ibd' cannot be decrypted");
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.");
+call mtr.add_suppression("InnoDB: (Unable to apply log to|Discarding log for) corrupted page ");
--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/debug_key_management.test b/mysql-test/suite/encryption/t/debug_key_management.test
index 15a560d4c42..45a93040d73 100644
--- a/mysql-test/suite/encryption/t/debug_key_management.test
+++ b/mysql-test/suite/encryption/t/debug_key_management.test
@@ -1,5 +1,6 @@
-- source include/have_innodb.inc
-- source include/have_debug.inc
+-- source include/innodb_undo_tablespaces.inc
-- source include/not_embedded.inc
if (`select count(*) = 0 from information_schema.plugins
@@ -13,7 +14,7 @@ create table t1(a serial) engine=innoDB;
set global innodb_encrypt_tables=ON;
show variables like 'innodb_encrypt%';
---let $tables_count= `select count(*) + 1 from information_schema.tables where engine = 'InnoDB'`
+--let $tables_count= `select count(*) + 1 + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
let $wait_condition= select count(*) = $tables_count from information_schema.innodb_tablespaces_encryption where current_key_version=1;
--source include/wait_condition.inc
diff --git a/mysql-test/suite/encryption/t/encrypt_and_grep.test b/mysql-test/suite/encryption/t/encrypt_and_grep.test
index 03f67db83f9..687f14e8a55 100644
--- a/mysql-test/suite/encryption/t/encrypt_and_grep.test
+++ b/mysql-test/suite/encryption/t/encrypt_and_grep.test
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
+-- source include/innodb_undo_tablespaces.inc
-- source include/have_file_key_management_plugin.inc
#
@@ -59,7 +60,8 @@ SET GLOBAL innodb_encrypt_tables = off;
--echo # Wait max 10 min for key encryption threads to decrypt all spaces
--let $wait_timeout= 600
---let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
+--let $tables_count= `select count(*) + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
+
--let $wait_condition=SELECT COUNT(*) = $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND CURRENT_KEY_VERSION = 0;
--source include/wait_condition.inc
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-bad-key-change.test b/mysql-test/suite/encryption/t/innodb-bad-key-change.test
index a9a32a3d6fc..30beff4bd85 100644
--- a/mysql-test/suite/encryption/t/innodb-bad-key-change.test
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change.test
@@ -11,8 +11,8 @@
call mtr.add_suppression("Plugin 'file_key_management' init function returned error");
call mtr.add_suppression("Plugin 'file_key_management' registration.*failed");
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` (has an unreadable root page|is corrupted)");
-call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[12]\\.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: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[12]\\.ibd' cannot be decrypted; key_version=1");
+call mtr.add_suppression("failed to read \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t1.ibd looks corrupted; key_version=1");
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` is corrupted");
call mtr.add_suppression("File '.*mysql-test.std_data.keysbad3\\.txt' not found");
diff --git a/mysql-test/suite/encryption/t/innodb-bad-key-change2.test b/mysql-test/suite/encryption/t/innodb-bad-key-change2.test
index 19399b1e891..ad252b6c92f 100644
--- a/mysql-test/suite/encryption/t/innodb-bad-key-change2.test
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change2.test
@@ -9,8 +9,8 @@
# MDEV-8727: Server/InnoDB hangs on shutdown after trying to read an encrypted table with a wrong key
#
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted|does not exist.*is trying to rename)");
-call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1(new)?\\.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: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1(new)?\\.ibd' cannot be decrypted; key_version=1");
+call mtr.add_suppression("InnoDB: Recovery failed to read page");
# Suppression for builds where file_key_management plugin is linked statically
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
call mtr.add_suppression("InnoDB: Tablespace for table \`test\`.\`t1\` is set as discarded\\.");
diff --git a/mysql-test/suite/encryption/t/innodb-bad-key-change4.test b/mysql-test/suite/encryption/t/innodb-bad-key-change4.test
index 58517f14978..759f4e58280 100644
--- a/mysql-test/suite/encryption/t/innodb-bad-key-change4.test
+++ b/mysql-test/suite/encryption/t/innodb-bad-key-change4.test
@@ -8,8 +8,8 @@
#
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
-call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1\\.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: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1\\.ibd' cannot be decrypted; key_version=1");
+call mtr.add_suppression("InnoDB: Recovery failed to read page");
# Suppression for builds where file_key_management plugin is linked statically
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
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-compressed-blob.test b/mysql-test/suite/encryption/t/innodb-compressed-blob.test
index 261fdd73aa1..12d061a852f 100644
--- a/mysql-test/suite/encryption/t/innodb-compressed-blob.test
+++ b/mysql-test/suite/encryption/t/innodb-compressed-blob.test
@@ -4,8 +4,8 @@
# embedded does not support restart
-- source include/not_embedded.inc
-call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.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: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted; key_version=1");
+call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Unable to decompress ..test.t[1-3]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` is corrupted");
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-encryption-disable.test b/mysql-test/suite/encryption/t/innodb-encryption-disable.test
index 2097a4ad184..939ad2b5547 100644
--- a/mysql-test/suite/encryption/t/innodb-encryption-disable.test
+++ b/mysql-test/suite/encryption/t/innodb-encryption-disable.test
@@ -9,7 +9,7 @@
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[15]\\.ibd' cannot be decrypted\\.");
-call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
+call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t[15].ibd looks corrupted; key_version=1");
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` is corrupted");
diff --git a/mysql-test/suite/encryption/t/innodb-key-rotation-disable.test b/mysql-test/suite/encryption/t/innodb-key-rotation-disable.test
index 96b62f7c05b..d360d5f8af7 100644
--- a/mysql-test/suite/encryption/t/innodb-key-rotation-disable.test
+++ b/mysql-test/suite/encryption/t/innodb-key-rotation-disable.test
@@ -31,8 +31,10 @@ insert into t8 values (1, 'publicmessage');
insert into t9 values (1, 'pugliccompressedaaaaaaaaabbbbbbbbbbbbbbccccccccccccccc');
--echo # should list tables t1-t6
+--sorted_result
SELECT NAME,ENCRYPTION_SCHEME,CURRENT_KEY_ID FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND NAME LIKE 'enctests%';
--echo # should list tables t7-t9
+--sorted_result
SELECT NAME,ENCRYPTION_SCHEME,CURRENT_KEY_ID FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 and NAME LIKE 'enctests%';
--let $MYSQLD_DATADIR=`select @@datadir`
diff --git a/mysql-test/suite/encryption/t/innodb-missing-key.test b/mysql-test/suite/encryption/t/innodb-missing-key.test
index 0b81d37ac50..e5bee99fee2 100644
--- a/mysql-test/suite/encryption/t/innodb-missing-key.test
+++ b/mysql-test/suite/encryption/t/innodb-missing-key.test
@@ -9,7 +9,7 @@
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.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: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file .*test.t[12].ibd looks corrupted; key_version=1");
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
diff --git a/mysql-test/suite/encryption/t/innodb-redo-badkey.test b/mysql-test/suite/encryption/t/innodb-redo-badkey.test
index 09ad7a7d5a3..393ca4ad375 100644
--- a/mysql-test/suite/encryption/t/innodb-redo-badkey.test
+++ b/mysql-test/suite/encryption/t/innodb-redo-badkey.test
@@ -9,11 +9,15 @@
call mtr.add_suppression("Plugin 'file_key_management'");
call mtr.add_suppression("Plugin 'InnoDB' init function returned error.");
-call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][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: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[1-4]\\.ibd' cannot be decrypted; key_version=1");
+call mtr.add_suppression("InnoDB: File '.*test/t[1234]\\.ibd' is corrupted");
+call mtr.add_suppression("InnoDB: Recovery failed to read page");
call mtr.add_suppression("InnoDB: Unable to decompress .*.test.t[12]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*test.t[12]\\.ibd'");
call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'");
+call mtr.add_suppression("InnoDB: OPT_PAGE_CHECKSUM mismatch");
+call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1 to ignore corruption");
+call mtr.add_suppression("InnoDB: (Unable to apply log to|Discarding log for) corrupted page ");
call mtr.add_suppression("InnoDB: Plugin initialization aborted");
call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed");
# for innodb_checksum_algorithm=full_crc32 only
diff --git a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
index 905b4f6333f..ab77b3747b8 100644
--- a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
+++ b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
@@ -9,8 +9,11 @@ call mtr.add_suppression("InnoDB: Recovery cannot access file");
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: (Unable to apply log to|Discarding log for) corrupted page ");
+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'");
+call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'");
+call mtr.add_suppression("InnoDB: OPT_PAGE_CHECKSUM mismatch");
+call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1 to ignore corruption");
-- 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-remove-encryption.test b/mysql-test/suite/encryption/t/innodb-remove-encryption.test
index 1982616aec2..8ff5fd632fd 100644
--- a/mysql-test/suite/encryption/t/innodb-remove-encryption.test
+++ b/mysql-test/suite/encryption/t/innodb-remove-encryption.test
@@ -2,6 +2,7 @@
# Test uses restart
--source include/not_embedded.inc
--source filekeys_plugin.inc
+--source include/innodb_undo_tablespaces.inc
#
# MDEV-15566: System tablespace does not easily key rotate to unencrypted
@@ -23,7 +24,7 @@ create table t1(a int not null primary key, b char(200)) engine=innodb;
--echo # Wait until encryption threads have encrypted all tablespaces
---let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
+--let $tables_count= `select count(*) + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
--let $wait_timeout= 600
--let $wait_condition=SELECT COUNT(*) = $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND ROTATING_OR_FLUSHING = 0;
--source include/wait_condition.inc
diff --git a/mysql-test/suite/encryption/t/innodb_encrypt_freed.test b/mysql-test/suite/encryption/t/innodb_encrypt_freed.test
index 785b4e9e498..7ba0b5a2d1a 100644
--- a/mysql-test/suite/encryption/t/innodb_encrypt_freed.test
+++ b/mysql-test/suite/encryption/t/innodb_encrypt_freed.test
@@ -2,6 +2,7 @@
--source include/have_example_key_management_plugin.inc
--source include/have_debug.inc
--source include/not_embedded.inc
+--source include/innodb_undo_tablespaces.inc
SHOW VARIABLES LIKE 'innodb_encrypt%';
@@ -10,7 +11,7 @@ SET GLOBAL innodb_encrypt_tables = ON;
CREATE TABLE t1(f1 BIGINT PRIMARY KEY, f2 int not null,
f3 int not null, index(f1), index idx_1(f2),
index(f2, f3)) ENGINE=InnoDB;
---let $tables_count= `select count(*) + 1 from information_schema.tables where engine = 'InnoDB'`
+--let $tables_count= `select count(*) + 1 + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
--echo # Wait max 10 min for key encryption threads to encrypt all spaces
--let $wait_timeout= 600
@@ -30,12 +31,12 @@ insert into t2 values(1);
connection default;
---let $tables_count= `select count(*) + 1 from information_schema.tables where engine = 'InnoDB'`
+--let $tables_count= `select count(*) + 1 + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
set global innodb_encrypt_tables = OFF;
--echo # Wait max 10 min for key encryption threads to decrypt all spaces
--let $wait_timeout= 600
---let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
+--let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0
--source include/wait_condition.inc
--sorted_result
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
@@ -63,7 +64,7 @@ drop table t1, t2;
CREATE TABLE t1(f1 BIGINT PRIMARY KEY, f2 int not null,
f3 int not null, index(f1), index idx_1(f2),
index(f2, f3)) ENGINE=InnoDB;
---let $tables_count= `select count(*) + 1 from information_schema.tables where engine = 'InnoDB'`
+--let $tables_count= `select count(*) + 1 + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
--echo # Wait max 10 min for key encryption threads to encrypt all spaces
--let $wait_timeout= 600
@@ -82,7 +83,7 @@ insert into t2 values(1);
connection default;
---let $tables_count= `select count(*) + 1 from information_schema.tables where engine = 'InnoDB'`
+--let $tables_count= `select count(*) + 1 + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
set global innodb_encrypt_tables = OFF;
--echo # Wait max 10 min for key encryption threads to decrypt all spaces
diff --git a/mysql-test/suite/encryption/t/innodb_encrypt_key_rotation_age.test b/mysql-test/suite/encryption/t/innodb_encrypt_key_rotation_age.test
index ef38560c469..c96d33aa1af 100644
--- a/mysql-test/suite/encryption/t/innodb_encrypt_key_rotation_age.test
+++ b/mysql-test/suite/encryption/t/innodb_encrypt_key_rotation_age.test
@@ -1,6 +1,7 @@
-- source include/have_innodb.inc
-- source include/not_embedded.inc
-- source include/have_example_key_management_plugin.inc
+-- source include/innodb_undo_tablespaces.inc
CREATE TABLE t1 (f1 INT, f2 VARCHAR(256))engine=innodb;
INSERT INTO t1 VALUES(1, 'MariaDB'), (2, 'Robot'), (3, 'Science');
@@ -20,7 +21,7 @@ let $restart_parameters= --innodb_encryption_threads=5 --innodb_encryption_rotat
--echo # Wait until encryption threads have encrypted all tablespaces
---let $tables_count= `select count(*) + 1 from information_schema.tables where engine = 'InnoDB'`
+--let $tables_count= `select count(*) + 1 + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
--let $wait_timeout= 600
--let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
--source include/wait_condition.inc
@@ -39,7 +40,7 @@ create table t4 (f1 int not null)engine=innodb encrypted=NO;
--echo # Wait until encryption threads have encrypted all tablespaces
---let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
+--let $tables_count= `select count(*) + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
--let $wait_timeout= 600
--let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
--source include/wait_condition.inc
@@ -54,7 +55,7 @@ set global innodb_encrypt_tables = OFF;
--echo # Wait until encryption threads to decrypt all unencrypted tablespaces
---let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
+--let $tables_count= `select count(*) + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
--let $wait_timeout= 600
--let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND ROTATING_OR_FLUSHING = 0;
--source include/wait_condition.inc
@@ -69,7 +70,7 @@ set global innodb_encrypt_tables = ON;
--echo # Wait until encryption threads to encrypt all unencrypted tablespaces
---let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
+--let $tables_count= `select count(*) + @@global.innodb_undo_tablespaces from information_schema.tables where engine = 'InnoDB'`
--let $wait_timeout= 600
--let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
--source include/wait_condition.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/encryption/t/innodb_encryption_is.test b/mysql-test/suite/encryption/t/innodb_encryption_is.test
index 52574aa2b9d..9e15cebb1da 100644
--- a/mysql-test/suite/encryption/t/innodb_encryption_is.test
+++ b/mysql-test/suite/encryption/t/innodb_encryption_is.test
@@ -9,6 +9,7 @@ INSERT INTO t2 VALUES ('foobar');
#
# MDEV-9640: Add used key_id to INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION
#
+--sorted_result
SELECT NAME, ENCRYPTION_SCHEME, MIN_KEY_VERSION, CURRENT_KEY_VERSION,
CURRENT_KEY_ID
FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION
diff --git a/mysql-test/suite/encryption/t/innodb_first_page.test b/mysql-test/suite/encryption/t/innodb_first_page.test
index 7f2f915d010..db4d8eb3b16 100644
--- a/mysql-test/suite/encryption/t/innodb_first_page.test
+++ b/mysql-test/suite/encryption/t/innodb_first_page.test
@@ -4,12 +4,14 @@
--source include/have_innodb.inc
--source include/have_file_key_management_plugin.inc
+--source include/innodb_undo_tablespaces.inc
let $datadir=`select @@datadir`;
--source include/shutdown_mysqld.inc
--remove_file $datadir/ib_logfile0
--remove_file $datadir/ibdata1
+--remove_files_wildcard $datadir undo*
--source include/start_mysqld.inc
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 21f83bb7b72..7240e5b269a 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 e9fa172c321..adf4c2bc10c 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 bdf1fbb7a06..6a1671a473c 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 78b6891e92e..d1663dfcde4 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 aac559ff424..1e840d50717 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 70effc9e5ed..3e64f217c74 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 cc22ec442d8..7cd949c36aa 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 2b3cb4eec22..ad774caa11f 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 b4ee94d01bb..a597d43f0ea 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 f7539d2a848..f721be91748 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 7125ffe2777..0b9788c4510 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 86a7e5eb601..a1931a964ce 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 a83f2665a43..056a1fa7559 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 a840142d005..1c8f50df7ce 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 dd8f4f1922c..5a12c63fe25 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 861b6ca7050..0156d6117bd 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 9e7cc358d2d..4729ddf0d3a 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 COLLATE=utf8_general_ci
+ `INDEX_COMMENT` varchar(1024) NOT NULL,
+ `IGNORED` varchar(3) NOT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 73aa5e5633d..ce052821ec8 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 `db_datadict`.`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 3e03af6f489..66e98854ab7 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 63f5c9a42de..35daab13c35 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 cef426ee028..ab42aed82bd 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 54fef2f2cf8..6a1aed781da 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 24426438539..a35297899aa 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 c14bbc982ca..4228c744e46 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 6c08759a048..c42e4867d75 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 3d76b75ba33..72fcead6bcd 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 744166bb849..a9b96d15d06 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 744166bb849..a9b96d15d06 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 af836c7740d..126bf44f7eb 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 c06cb7fcf63..95c706b3f25 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 762bef9b22f..dba8de65fc0 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
# 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 91ff11725d8..0806f00fc6a 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 COLLATE=utf8_general_ci
+) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
# 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 ff75ae6e9b4..c9f92d51210 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 5a5ec42a971..60fe1b8eaba 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
@@ -11,6 +11,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
@@ -29,6 +30,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 6333e8739e3..399fc1d9fe7 100644
--- a/mysql-test/suite/funcs_2/r/innodb_charset.result
+++ b/mysql-test/suite/funcs_2/r/innodb_charset.result
@@ -17564,7 +17564,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;
@@ -20105,7 +20105,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;
@@ -22646,7 +22646,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;
@@ -25187,7 +25187,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;
@@ -27728,7 +27728,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;
@@ -30269,7 +30269,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;
@@ -32810,7 +32810,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;
@@ -35351,7 +35351,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;
@@ -37892,7 +37892,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;
@@ -40433,7 +40433,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;
@@ -42974,7 +42974,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;
@@ -45515,7 +45515,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;
@@ -48056,7 +48056,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;
@@ -50597,7 +50597,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;
@@ -53138,7 +53138,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;
@@ -55679,7 +55679,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;
@@ -58220,7 +58220,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;
@@ -60761,7 +60761,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;
@@ -63302,7 +63302,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;
@@ -65843,7 +65843,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;
@@ -68383,7 +68383,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;
@@ -70922,7 +70922,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;
@@ -73461,7 +73461,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;
@@ -76000,7 +76000,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;
@@ -78539,7 +78539,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;
@@ -81078,7 +81078,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;
@@ -83617,7 +83617,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;
@@ -86156,7 +86156,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;
@@ -88695,7 +88695,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;
@@ -91234,7 +91234,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;
@@ -93773,7 +93773,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;
@@ -96312,7 +96312,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;
@@ -98851,7 +98851,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;
@@ -101390,7 +101390,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;
@@ -103929,7 +103929,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;
@@ -106468,7 +106468,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;
@@ -109007,7 +109007,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;
@@ -111546,7 +111546,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;
@@ -114085,7 +114085,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;
@@ -116624,7 +116624,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 d15f2d271ca..2d68598c03b 100644
--- a/mysql-test/suite/galera/disabled.def
+++ b/mysql-test/suite/galera/disabled.def
@@ -20,5 +20,9 @@ galera_var_notify_cmd: MDEV-29861 Galera test case hangs
galera_var_node_address : MDEV-20485 Galera test failure
MDEV-26575 : MDEV-29878 Galera test failure on MDEV-26575
galera_bf_abort_shutdown : MDEV-29918 Assertion failure on galera_bf_abort_shutdown
+# Links to below failures in MDEV-30172
galera_wan : [ERROR] WSREP: /home/buildbot/buildbot/build/gcs/src/gcs_state_msg.cpp:gcs_state_msg_get_quorum():947: Failed to establish quorum.
galera_var_ignore_apply_errors : 28: "Server did not transition to READY state"
+galera_bf_kill_debug : timeout after 900 seconds
+galera_ssl_upgrade : [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 130: Incorrect file format 'gtid_slave_pos'
+galera_insert_bulk : MDEV-30536 no expected deadlock in galera_insert_bulk test
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_FK_duplicate_client_insert.result b/mysql-test/suite/galera/r/galera_FK_duplicate_client_insert.result
index 5ae577a6323..b40c57c5d90 100644
--- a/mysql-test/suite/galera/r/galera_FK_duplicate_client_insert.result
+++ b/mysql-test/suite/galera/r/galera_FK_duplicate_client_insert.result
@@ -14,7 +14,7 @@ connection node_1_u;
begin;
update user set j = j + 1 WHERE id > 0;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
insert into user_session(id,fk1,fk2) values (2, 2, 2);
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -32,7 +32,7 @@ connection node_1_u;
begin;
update user set j = j + 1 WHERE id > 0;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
insert into user_session(id,fk1,fk2) values (2, 2, 2);
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -50,7 +50,7 @@ connection node_1_u;
begin;
update user set j = j + 1 WHERE id > 0;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
insert into user_session(id,fk1,fk2) values (2, 2, 2);
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -68,7 +68,7 @@ connection node_1_u;
begin;
update user set j = j + 1 WHERE id > 0;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
insert into user_session(id,fk1,fk2) values (2, 2, 2);
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -86,7 +86,7 @@ connection node_1_u;
begin;
update user set j = j + 1 WHERE id > 0;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
insert into user_session(id,fk1,fk2) values (2, 2, 2);
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -104,7 +104,7 @@ connection node_1_u;
begin;
update user set j = j + 1 WHERE id > 0;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
insert into user_session(id,fk1,fk2) values (2, 2, 2);
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -122,7 +122,7 @@ connection node_1_u;
begin;
update user set j = j + 1 WHERE id > 0;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
insert into user_session(id,fk1,fk2) values (2, 2, 2);
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -140,7 +140,7 @@ connection node_1_u;
begin;
update user set j = j + 1 WHERE id > 0;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
insert into user_session(id,fk1,fk2) values (2, 2, 2);
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -158,7 +158,7 @@ connection node_1_u;
begin;
update user set j = j + 1 WHERE id > 0;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
insert into user_session(id,fk1,fk2) values (2, 2, 2);
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -176,7 +176,7 @@ connection node_1_u;
begin;
update user set j = j + 1 WHERE id > 0;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
insert into user_session(id,fk1,fk2) values (2, 2, 2);
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -202,7 +202,7 @@ connection node_1_u;
begin;
execute upd;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
execute ins1;
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -220,7 +220,7 @@ connection node_1_u;
begin;
execute upd;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
execute ins1;
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -238,7 +238,7 @@ connection node_1_u;
begin;
execute upd;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
execute ins1;
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -256,7 +256,7 @@ connection node_1_u;
begin;
execute upd;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
execute ins1;
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -274,7 +274,7 @@ connection node_1_u;
begin;
execute upd;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
execute ins1;
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -292,7 +292,7 @@ connection node_1_u;
begin;
execute upd;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
execute ins1;
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -310,7 +310,7 @@ connection node_1_u;
begin;
execute upd;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
execute ins1;
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -328,7 +328,7 @@ connection node_1_u;
begin;
execute upd;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
execute ins1;
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -346,7 +346,7 @@ connection node_1_u;
begin;
execute upd;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
execute ins1;
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
@@ -364,7 +364,7 @@ connection node_1_u;
begin;
execute upd;
connection node_1_i;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
execute ins1;
connection node_1;
set debug_sync='now WAIT_FOR ins_waiting';
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 23857cef874..69dea0c1c09 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 8495bfde2f9..5caf22b39ca 100644
--- a/mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result
+++ b/mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result
@@ -100,19 +100,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_insert_bulk.result b/mysql-test/suite/galera/r/galera_insert_bulk.result
new file mode 100644
index 00000000000..f4d4adf64e1
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_insert_bulk.result
@@ -0,0 +1,30 @@
+connection node_2;
+connection node_1;
+connection node_1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+SET foreign_key_checks = 0;
+SET unique_checks = 0;
+START TRANSACTION;
+connection node_2;
+SET foreign_key_checks = 1;
+SET unique_checks = 1;
+INSERT INTO t1 VALUES (1001);
+connection node_1;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t1;
+connection node_1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+START TRANSACTION;
+connection node_2;
+SET foreign_key_checks = 1;
+SET unique_checks = 1;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1001);
+connection node_1;
+COMMIT;
+2
+connection node_2;
+COMMIT;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_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..b5b33fe8ae5
--- /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=128;
+ERROR 42000: Variable 'wsrep_mode' can't be set to the value of '128'
+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 450c11be22d..cf2ab0ee5da 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 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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_FK_duplicate_client_insert.test b/mysql-test/suite/galera/t/galera_FK_duplicate_client_insert.test
index 02322fc02ec..6dd1fee1d4e 100644
--- a/mysql-test/suite/galera/t/galera_FK_duplicate_client_insert.test
+++ b/mysql-test/suite/galera/t/galera_FK_duplicate_client_insert.test
@@ -72,7 +72,7 @@ while($counter > 0)
update user set j = j + 1 WHERE id > 0;
--connection node_1_i
- set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+ set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
send insert into user_session(id,fk1,fk2) values (2, 2, 2);
--connection node_1
@@ -126,7 +126,7 @@ while($counter > 0)
#update user set j = j + 1 WHERE id > 0;
--connection node_1_i
- set debug_sync='lock_wait_suspend_thread_enter SIGNAL ins_waiting WAIT_FOR cont_ins';
+ set debug_sync='lock_wait_start SIGNAL ins_waiting WAIT_FOR cont_ins';
send execute ins1;
--connection node_1
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_insert_bulk.test b/mysql-test/suite/galera/t/galera_insert_bulk.test
new file mode 100644
index 00000000000..f58870d5f74
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_insert_bulk.test
@@ -0,0 +1,88 @@
+#
+# Test that bulk insert replicates as table-level exclusive key and
+# rolls back properly if needed.
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+#
+# Make bulk insert BF-abort, but regular insert succeed.
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+# Disable foreign and unique key checks to allow bulk insert.
+SET foreign_key_checks = 0;
+SET unique_checks = 0;
+
+START TRANSACTION;
+
+--let $count=0
+--disable_query_log
+while ($count < 1000)
+{
+ --eval INSERT INTO t1 VALUES ($count)
+ --inc $count
+}
+--enable_query_log
+
+--connection node_2
+
+# Disable bulk insert.
+SET foreign_key_checks = 1;
+SET unique_checks = 1;
+
+# Insert a value out of the bulk insert range.
+INSERT INTO t1 VALUES (1001);
+
+--connection node_1
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+DROP TABLE t1;
+
+#
+# Make bulk insert succeed, but regular insert BF-abort.
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+--let $before_bulk_keys = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_repl_keys'`
+
+START TRANSACTION;
+
+--let $count=0
+--disable_query_log
+while ($count < 1000)
+{
+ --eval INSERT INTO t1 VALUES ($count)
+ --inc $count
+}
+--enable_query_log
+
+--connection node_2
+
+# Disable bulk insert.
+SET foreign_key_checks = 1;
+SET unique_checks = 1;
+
+START TRANSACTION;
+
+# Insert a value out of the bulk insert range.
+INSERT INTO t1 VALUES (1001);
+
+--connection node_1
+COMMIT;
+
+# Expect two keys to be added for bulk insert: DB-level shared key and table-level exclusive key.
+--let $bulk_keys_count = `SELECT VARIABLE_VALUE - $before_bulk_keys FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_repl_keys'`
+--echo $bulk_keys_count
+
+--connection node_2
+--error ER_LOCK_DEADLOCK
+COMMIT;
+
+DROP TABLE t1;
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..002dce0a05a
--- /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=128;
+--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 22ff54ed504..ae99ffe98ec 100644
--- a/mysql-test/suite/galera_3nodes/disabled.def
+++ b/mysql-test/suite/galera_3nodes/disabled.def
@@ -10,13 +10,14 @@
#
##############################################################################
-
galera_2_cluster : MDEV-29877 Galera test failure on galera_2_cluster
galera_gtid_2_cluster : MDEV-29877 Galera test failure on galera_2_cluster
galera_vote_rejoin_mysqldump : MDEV-24481: galera_3nodes.galera_vote_rejoin_mysqldump MTR failed: mysql_shutdown failed
-galera_2_cluster : MDEV-29877 Galera test failure on galera_2_cluster
-galera_gtid_2_cluster : MDEV-29877 Galera test failure on galera_2_cluster
galera_ssl_reload : MDEV-30172 At line 50: mysql_shutdown failed
GCF-354 : mysqltest: At line 39: query 'DROP TABLE test.t1' failed: 1047: WSREP has not yet prepared node for application use
GCF-354 : mysqltest: At line 30: query 'INSERT INTO test.t1 values (1)' failed: 1180: Got error 6 "No such device or address"
galera_ipv6_mysqldump : mysql_shutdown failed
+# Opensuse/suse/rocky9/rocky84/rhel9/rhel8-ppc64le .. - all same IPv6 isn't configured right or skipping or galera
+galera_ipv6_mysqldump : Can't connect to server on '::1' (115)
+galera_ipv6_rsync : Can't connect to server on '::1' (115)
+galera_ipv6_rsync_section : Can't connect to server on '::1' (115)
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/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 aa264eb8047..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,7 @@
--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
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 25d2b50951b..8c1925c942a 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
@@ -451,7 +451,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 COLLATE=latin1_swedish_ci
DROP TABLE t1;
CREATE TABLE t1 (i INT);
@@ -460,7 +460,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 COLLATE=latin1_swedish_ci
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 4339deac5a2..734e05bbcd3 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
@@ -451,7 +451,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 COLLATE=latin1_swedish_ci
DROP TABLE t1;
CREATE TABLE t1 (i INT);
@@ -460,7 +460,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 COLLATE=latin1_swedish_ci
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 9be3d24bfc3..06c2553a93c 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 b9c92d6c404..523ff3a3764 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 8c0fe13a91b..0d18976f3bf 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 1b8f217dc6f..3f3e3ea31d1 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
@@ -124,3 +124,24 @@ CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
DROP TABLE t1;
+#
+# MDEV-28806 Assertion `flag == 1' failure in
+# row_build_index_entry_low upon concurrent ALTER and UPDATE
+#
+CREATE TABLE t1(a CHAR(8), b INT, c INT AS (b), KEY(a)) ENGINE=InnoDB;
+INSERT INTO t1(b) VALUES (1),(2);
+connect con1,localhost,root,,test;
+SET DEBUG_SYNC="alter_table_inplace_before_lock_upgrade SIGNAL dml_start WAIT_FOR dml_commit";
+ALTER TABLE t1 ADD KEY ind (c);
+connection default;
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+UPDATE t1 SET a ='foo';
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+connection con1;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+disconnect con1;
+connection default;
+SET DEBUG_SYNC=RESET;
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 4a204532630..3f3b2db8f32 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,
@@ -203,3 +205,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_purge.result b/mysql-test/suite/gcol/r/innodb_virtual_purge.result
index ee88527ec2e..48a2d313382 100644
--- a/mysql-test/suite/gcol/r/innodb_virtual_purge.result
+++ b/mysql-test/suite/gcol/r/innodb_virtual_purge.result
@@ -24,7 +24,7 @@ COMMIT;
UPDATE t1 SET a=1;
connection default;
InnoDB 0 transactions not purged
-CHECK TABLE t1;
+CHECK TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
test.t1 check status OK
SELECT b1 FROM t1;
@@ -123,7 +123,7 @@ COMMIT;
disconnect con1;
connection default;
InnoDB 0 transactions not purged
-CHECK TABLE t1;
+CHECK TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
test.t1 check status OK
SELECT b1 FROM t1;
@@ -134,7 +134,7 @@ SELECT * FROM t1;
a b b1 a1 a4 b3
100 10 10 100 90 100
100 10 10 100 90 100
-CHECK TABLE t2;
+CHECK TABLE t2 EXTENDED;
Table Op Msg_type Msg_text
test.t2 check status OK
DROP TABLE t2, t1, t0;
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..cd2b860400c 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;
@@ -312,4 +312,30 @@ SELECT * FROM t1;
CHECK TABLE t1;
DROP TABLE t1;
+--echo #
+--echo # MDEV-28806 Assertion `flag == 1' failure in
+--echo # row_build_index_entry_low upon concurrent ALTER and UPDATE
+--echo #
+
+CREATE TABLE t1(a CHAR(8), b INT, c INT AS (b), KEY(a)) ENGINE=InnoDB;
+INSERT INTO t1(b) VALUES (1),(2);
+
+--connect (con1,localhost,root,,test)
+SET DEBUG_SYNC="alter_table_inplace_before_lock_upgrade SIGNAL dml_start WAIT_FOR dml_commit";
+send ALTER TABLE t1 ADD KEY ind (c);
+
+--connection default
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+UPDATE t1 SET a ='foo';
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+
+# Cleanup
+--connection con1
+--reap
+CHECK TABLE t1;
+DROP TABLE t1;
+--disconnect con1
+connection default;
+SET DEBUG_SYNC=RESET;
+
--source include/wait_until_count_sessions.inc
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 ca60ed84a98..d9b764a75a7 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,
@@ -260,3 +262,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 747a2fdb64c..d0e1951842e 100644
--- a/mysql-test/suite/gcol/t/innodb_virtual_index.test
+++ b/mysql-test/suite/gcol/t/innodb_virtual_index.test
@@ -256,6 +256,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,
@@ -265,6 +269,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/gcol/t/innodb_virtual_purge.test b/mysql-test/suite/gcol/t/innodb_virtual_purge.test
index c79a817dd4e..e9e4caf8e07 100644
--- a/mysql-test/suite/gcol/t/innodb_virtual_purge.test
+++ b/mysql-test/suite/gcol/t/innodb_virtual_purge.test
@@ -38,7 +38,7 @@ UPDATE t1 SET a=1;
connection default;
--source ../../innodb/include/wait_all_purged.inc
-CHECK TABLE t1;
+CHECK TABLE t1 EXTENDED;
SELECT b1 FROM t1;
@@ -123,11 +123,11 @@ disconnect con1;
connection default;
--source ../../innodb/include/wait_all_purged.inc
-CHECK TABLE t1;
+CHECK TABLE t1 EXTENDED;
SELECT b1 FROM t1;
SELECT * FROM t1;
-CHECK TABLE t2;
+CHECK TABLE t2 EXTENDED;
DROP TABLE t2, t1, t0;
CREATE TABLE t1 (a VARCHAR(30), b INT, a2 VARCHAR(30) GENERATED ALWAYS AS (a) VIRTUAL);
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 67641d51b02..bef3913dcb1 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 b965417059c..a3f5d004bf5 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 22916598083..8c9e5966b2e 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 --debug_dbug=+d,recv_ran_out_of_buffer
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 2c6454b25bf..110653101fe 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 COLLATE=latin1_swedish_ci
+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..159e8e496f7
--- /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 COLLATE=latin1_swedish_ci 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 514aa1e9a9f..feb8cd94711 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/alter_table_upgrade.result b/mysql-test/suite/innodb/r/alter_table_upgrade.result
index eebabd561ca..5438f5eadc0 100644
--- a/mysql-test/suite/innodb/r/alter_table_upgrade.result
+++ b/mysql-test/suite/innodb/r/alter_table_upgrade.result
@@ -13,7 +13,7 @@ Table Create Table
pet4 CREATE TABLE `pet4` (
`build_time` double(18,7) DEFAULT NULL,
KEY `idx1` (`build_time`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
CHECK TABLE pet4 FOR UPGRADE;
Table Op Msg_type Msg_text
test.pet4 check status OK
@@ -28,7 +28,7 @@ Table Create Table
pet4 CREATE TABLE `pet4` (
`build_time` double(18,7) DEFAULT NULL,
KEY `idx1` (`build_time`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
ALTER TABLE pet4 ADD i1 INTEGER, ALGORITHM=NOCOPY;
DROP TABLE pet4;
#
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/change_column_collation.result b/mysql-test/suite/innodb/r/change_column_collation.result
index fa1df1df830..132a57a52db 100644
--- a/mysql-test/suite/innodb/r/change_column_collation.result
+++ b/mysql-test/suite/innodb/r/change_column_collation.result
@@ -9,11 +9,128 @@ msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_swedish_ci UNIQUE
) ENGINE=INNODB;
INSERT INTO t1 VALUES (1, 'aaa');
INSERT INTO t1 VALUES (2, 'ååå');
-ALTER TABLE t1
-MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci,
-ALGORITHM=NOCOPY;
-ERROR 0A000: ALGORITHM=NOCOPY is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-ALTER TABLE t1 DROP INDEX msg,
-MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci,
-ALGORITHM=NOCOPY;
+ALTER TABLE t1 MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci, ALGORITHM=inplace;
+ERROR 23000: Duplicate entry 'NULL' for key 'msg'
DROP TABLE t1;
+CREATE TABLE t1 (
+id INT PRIMARY KEY,
+msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
+id_2 INT not null,
+unique index(msg, id_2)
+) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 'aaa', 2);
+INSERT INTO t1 VALUES (2, 'AAA', 3);
+ALTER TABLE t1 MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci, ALGORITHM=inplace;
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT PRIMARY KEY,
+msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
+unique index(msg)
+) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 'aaa');
+INSERT INTO t1 VALUES (2, 'bbb');
+INSERT INTO t1 VALUES (3, 'ccc');
+SET DEBUG_SYNC = 'RESET';
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL before_apply WAIT_FOR go_ahead';
+ALTER TABLE t1 MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci, ALGORITHM=NOCOPY;
+connect con1,localhost,root,,;
+connection con1;
+SET DEBUG_SYNC = 'now WAIT_FOR before_apply';
+INSERT INTO t1 VALUES (4, 'AAA');
+UPDATE t1 set msg = "ddd" where id = 2;
+DELETE FROM t1 WHERE id= 3;
+SET DEBUG_SYNC = 'now SIGNAL go_ahead';
+connection default;
+ERROR 23000: Duplicate entry 'NULL' for key 'msg'
+SET DEBUG_SYNC = 'RESET';
+SELECT * FROM t1;
+id msg
+4 AAA
+1 aaa
+2 ddd
+DROP TABLE t1;
+CREATE TABLE t1 (
+id INT PRIMARY KEY,
+f1 INT NOT NULL,
+f2 INT NOT NULL,
+f3 INT NOT NULL,
+msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
+msg_1 VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
+unique index(f1, msg, f2, msg_1, f3),
+unique index(f1, msg_1, f2, msg, f3),
+unique index(f1, msg, f3, msg_1, f2),
+unique index(f1, msg_1, f3, msg, f2),
+unique index(f2, msg_1, f1, msg, f3),
+unique index(f2, msg, f3, msg_1, f1),
+unique index(f3, f2, msg, msg_1, f1),
+unique index(f3, msg, msg_1, f1, f2)
+) ENGINE=INNODB;
+INSERT INTO t1 VALUES (1, 1, 1, 1, 'aaa', 'aaa');
+SET DEBUG_DBUG="+d,create_index_fail";
+SET DEBUG_SYNC="innodb_inplace_alter_table_enter SIGNAL con1_go WAIT_FOR alter_signal";
+ALTER TABLE t1 MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci, MODIFY msg_1 VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci, ALGORITHM=NOCOPY;
+connection con1;
+SET DEBUG_SYNC="now WAIT_FOR con1_go";
+BEGIN;
+SELECT * FROM t1;
+id f1 f2 f3 msg msg_1
+1 1 1 1 aaa aaa
+SET DEBUG_SYNC="now SIGNAL alter_signal";
+connection default;
+ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+connection con1;
+rollback;
+INSERT INTO t1 VALUES(2, 2, 2, 2, 'bbb', 'bbb');
+disconnect con1;
+connection default;
+SET DEBUG_SYNC=reset;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `f1` int(11) NOT NULL,
+ `f2` int(11) NOT NULL,
+ `f3` int(11) NOT NULL,
+ `msg` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `msg_1` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `f1` (`f1`,`msg`,`f2`,`msg_1`,`f3`),
+ UNIQUE KEY `f1_2` (`f1`,`msg_1`,`f2`,`msg`,`f3`),
+ UNIQUE KEY `f1_3` (`f1`,`msg`,`f3`,`msg_1`,`f2`),
+ UNIQUE KEY `f1_4` (`f1`,`msg_1`,`f3`,`msg`,`f2`),
+ UNIQUE KEY `f2` (`f2`,`msg_1`,`f1`,`msg`,`f3`),
+ UNIQUE KEY `f2_2` (`f2`,`msg`,`f3`,`msg_1`,`f1`),
+ UNIQUE KEY `f3` (`f3`,`f2`,`msg`,`msg_1`,`f1`),
+ UNIQUE KEY `f3_2` (`f3`,`msg`,`msg_1`,`f1`,`f2`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+INSERT INTO t1 VALUES(3, 3, 3, 3, 'ccc', 'ccc');
+DROP TABLE t1;
+CREATE TABLE t1(id INT PRIMARY KEY, msg VARCHAR(100),
+msg_1 VARCHAR(100) AS (msg) VIRTUAL,
+msg_2 VARCHAR(100) AS (msg) STORED,
+UNIQUE(msg), UNIQUE(msg_1),
+UNIQUE(msg_2))ENGINE=InnoDB;
+ALTER TABLE t1 MODIFY msg_1 VARCHAR(100) CHARACTER SET utf8
+COLLATE utf8_unicode_ci, ALGORITHM=inplace;
+ERROR HY000: This is not yet supported for generated columns
+ALTER TABLE t1 MODIFY msg_2 VARCHAR(100) CHARACTER SET utf8
+COLLATE utf8_unicode_ci, ALGORITHM=inplace;
+ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
+DROP TABLE t1;
+#
+# MDEV-29314 Assertion `n_fields > n_cols' failed
+# in dict_index_t::init_change_cols
+#
+CREATE TABLE t (a VARCHAR(16) COLLATE utf8_bin,
+FULLTEXT (a)) ENGINE=InnoDB COLLATE utf8_unicode_520_ci;
+ALTER TABLE t MODIFY COLUMN a VARCHAR(512);
+SHOW CREATE TABLE t;
+Table Create Table
+t CREATE TABLE `t` (
+ `a` varchar(512) DEFAULT NULL,
+ FULLTEXT KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_520_ci
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/r/create-index-debug.result b/mysql-test/suite/innodb/r/create-index-debug.result
deleted file mode 100644
index 9d266c68af3..00000000000
--- a/mysql-test/suite/innodb/r/create-index-debug.result
+++ /dev/null
@@ -1,23 +0,0 @@
-SET @saved_debug_dbug = @@SESSION.debug_dbug;
-#
-#BUG#21326304 INNODB ONLINE ALTER TABLE ENDS IN CRASH ON DISK FULL
-#
-CREATE TABLE t1(f1 CHAR(255) NOT NULL, f2 CHAR(255) NOT NULL, f3
-CHAR(255) NOT NULL, f4 CHAR(255) NOT NULL, f5 CHAR(255) NOT NULL,f6
-CHAR(255) NOT NULL, f7 CHAR(255) NOT NULL, f8 CHAR(255) NOT NULL,f9
-CHAR(255) NOT NULL, f10 CHAR(255) NOT NULL, f11 CHAR(255) NOT NULL,f12
-CHAR(255) NOT NULL, f13 CHAR(255) NOT NULL, f14 CHAR(255) NOT NULL,f15
-CHAR(255) NOT NULL, f16 CHAR(255) NOT NULL, f17 CHAR(255) NOT NULL,f18
-CHAR(255) NOT NULL)
-ENGINE=INNODB ROW_FORMAT=DYNAMIC;
-INSERT INTO t1
-VALUES('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r');
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-SET debug_dbug = '+d,disk_is_full';
-ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
-ERROR HY000: The table 't1' is full
-SET debug_dbug= @saved_debug_dbug;
-DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/create_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/cursor-restore-locking.result b/mysql-test/suite/innodb/r/cursor-restore-locking.result
index fc56f0935fa..48263151ceb 100644
--- a/mysql-test/suite/innodb/r/cursor-restore-locking.result
+++ b/mysql-test/suite/innodb/r/cursor-restore-locking.result
@@ -10,13 +10,13 @@ SET DEBUG_SYNC = 'innodb_row_search_for_mysql_exit SIGNAL first_del_row_search_m
DELETE FROM t WHERE b = 20;
connect con_ins_1,localhost,root,,;
SET DEBUG_SYNC = 'now WAIT_FOR first_del_row_search_mvcc_finished';
-SET DEBUG_SYNC = 'lock_wait_suspend_thread_enter SIGNAL first_ins_locked';
+SET DEBUG_SYNC = 'lock_wait_start SIGNAL first_ins_locked';
SET DEBUG_SYNC = 'ib_after_row_insert SIGNAL first_ins_row_inserted WAIT_FOR first_ins_cont';
INSERT INTO t VALUES(10, 20);
connect con_del_2,localhost,root,,;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET DEBUG_SYNC = 'now WAIT_FOR first_ins_locked';
-SET DEBUG_SYNC = 'lock_wait_suspend_thread_enter SIGNAL second_del_locked';
+SET DEBUG_SYNC = 'lock_wait_start SIGNAL second_del_locked';
DELETE FROM t WHERE b = 20;
connection default;
SET DEBUG_SYNC = 'now WAIT_FOR second_del_locked';
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/deadlock_victim_race.result b/mysql-test/suite/innodb/r/deadlock_victim_race.result
new file mode 100644
index 00000000000..061edc775f0
--- /dev/null
+++ b/mysql-test/suite/innodb/r/deadlock_victim_race.result
@@ -0,0 +1,46 @@
+connect cancel_purge,localhost,root,,;
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+connection default;
+CREATE TABLE t (a int PRIMARY KEY, b int) engine = InnoDB;
+CREATE TABLE t2 (a int PRIMARY KEY) engine = InnoDB;
+INSERT INTO t VALUES (10, 10), (20, 20), (30, 30);
+INSERT INTO t2 VALUES (10), (20), (30);
+BEGIN;
+SELECT * FROM t WHERE a = 20 FOR UPDATE;
+a b
+20 20
+connect con_2,localhost,root,,;
+SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
+BEGIN;
+SET DEBUG_SYNC = 'lock_trx_handle_wait_enter SIGNAL upd_locked WAIT_FOR upd_cont EXECUTE 2';
+UPDATE t SET b = 100;
+connect con_3,localhost,root,,;
+BEGIN;
+UPDATE t2 SET a = a + 100;
+SELECT * FROM t WHERE a = 30 FOR UPDATE;
+a b
+30 30
+SET DEBUG_SYNC='now WAIT_FOR upd_locked';
+SET DEBUG_SYNC = 'lock_wait_start SIGNAL sel_locked';
+SELECT * FROM t WHERE a = 20 FOR UPDATE;
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR sel_locked';
+ROLLBACK;
+SET DEBUG_SYNC='now SIGNAL upd_cont';
+SET DEBUG_SYNC="now WAIT_FOR upd_locked";
+SET SESSION innodb_lock_wait_timeout=1;
+SELECT * FROM t WHERE a = 10 FOR UPDATE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC="now SIGNAL upd_cont";
+connection con_3;
+a b
+20 20
+connection con_2;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+disconnect con_3;
+disconnect con_2;
+connection default;
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t;
+DROP TABLE t2;
+disconnect cancel_purge;
diff --git a/mysql-test/suite/innodb/r/deadlock_wait_lock_race.result b/mysql-test/suite/innodb/r/deadlock_wait_lock_race.result
new file mode 100644
index 00000000000..874f5af47d0
--- /dev/null
+++ b/mysql-test/suite/innodb/r/deadlock_wait_lock_race.result
@@ -0,0 +1,27 @@
+CREATE TABLE t (a int PRIMARY KEY, b int) engine = InnoDB STATS_PERSISTENT=0;
+CREATE TABLE t2 (a int PRIMARY KEY) engine = InnoDB STATS_PERSISTENT=0;
+INSERT INTO t VALUES (10, 10), (20, 20), (30, 30);
+INSERT INTO t2 VALUES (10), (20), (30);
+BEGIN;
+UPDATE t2 SET a = a + 100;
+SELECT * FROM t WHERE a = 20 FOR UPDATE;
+a b
+20 20
+connect con_2,localhost,root,,;
+SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
+BEGIN;
+SET DEBUG_SYNC = 'lock_trx_handle_wait_before_unlocked_wait_lock_check SIGNAL upd_locked WAIT_FOR upd_cont';
+UPDATE t SET b = 100;
+connection default;
+SET DEBUG_SYNC="now WAIT_FOR upd_locked";
+SET DEBUG_SYNC="lock_wait_before_suspend SIGNAL upd_cont";
+SELECT * FROM t WHERE a = 10 FOR UPDATE;
+connection con_2;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+disconnect con_2;
+connection default;
+a b
+10 10
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t;
+DROP TABLE t2;
diff --git a/mysql-test/suite/innodb/r/deadlock_wait_thr_race.result b/mysql-test/suite/innodb/r/deadlock_wait_thr_race.result
new file mode 100644
index 00000000000..6992a447c07
--- /dev/null
+++ b/mysql-test/suite/innodb/r/deadlock_wait_thr_race.result
@@ -0,0 +1,33 @@
+CREATE TABLE t (a int PRIMARY KEY, b int) engine = InnoDB STATS_PERSISTENT=0;
+CREATE TABLE t2 (a int PRIMARY KEY) engine = InnoDB STATS_PERSISTENT=0;
+INSERT INTO t VALUES (10, 10), (20, 20), (30, 30);
+INSERT INTO t2 VALUES (10), (20), (30);
+BEGIN;
+UPDATE t2 SET a = a + 100;
+SELECT * FROM t WHERE a = 20 FOR UPDATE;
+a b
+20 20
+connect con_2,localhost,root,,;
+SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
+SET DEBUG_SYNC = 'lock_trx_handle_wait_enter SIGNAL upd_locked WAIT_FOR upd_cont';
+SET DEBUG_SYNC = 'trx_t_release_locks_enter SIGNAL sel_cont WAIT_FOR upd_cont_2';
+BEGIN;
+UPDATE t SET b = 100;
+connection default;
+SET DEBUG_SYNC="now WAIT_FOR upd_locked";
+SET DEBUG_SYNC="deadlock_report_before_lock_releasing SIGNAL upd_cont WAIT_FOR sel_cont";
+SET DEBUG_SYNC="lock_wait_before_suspend SIGNAL sel_before_suspend";
+SELECT * FROM t WHERE a = 10 FOR UPDATE;;
+connect con_3,localhost,root,,;
+SET DEBUG_SYNC="now WAIT_FOR sel_before_suspend";
+SET DEBUG_SYNC="now SIGNAL upd_cont_2";
+disconnect con_3;
+connection con_2;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+disconnect con_2;
+connection default;
+a b
+10 10
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t;
+DROP TABLE t2;
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/dropdb_cs.result b/mysql-test/suite/innodb/r/dropdb_cs.result
new file mode 100644
index 00000000000..59f02c74a04
--- /dev/null
+++ b/mysql-test/suite/innodb/r/dropdb_cs.result
@@ -0,0 +1,16 @@
+#
+# MDEV-28802 DROP DATABASE in InnoDB still is case-insensitive
+#
+SET @save_fpt=@@GLOBAL.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table=0;
+CREATE DATABASE Db;
+CREATE TABLE Db.t1 (c1 INT KEY) ENGINE=InnoDB;
+CREATE DATABASE DB;
+DROP DATABASE DB;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
+NAME
+Db/t1
+DROP DATABASE Db;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
+TABLE_ID NAME FLAG N_COLS SPACE ROW_FORMAT ZIP_PAGE_SIZE SPACE_TYPE
+SET GLOBAL innodb_file_per_table=@save_fpt;
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 851deb69fa5..acf021db22c 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;
@@ -982,3 +983,50 @@ t2 CREATE TABLE `t2` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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/ibuf_not_empty.result b/mysql-test/suite/innodb/r/ibuf_not_empty.result
index f2da89990b0..dbb9814c111 100644
--- a/mysql-test/suite/innodb/r/ibuf_not_empty.result
+++ b/mysql-test/suite/innodb/r/ibuf_not_empty.result
@@ -12,7 +12,7 @@ check table t1;
Table Op Msg_type Msg_text
test.t1 check Warning InnoDB: Index 'b' contains 990 entries, should be 1024.
test.t1 check error Corrupt
-# restart
+# restart: --innodb-force_recovery=0
SET GLOBAL innodb_fast_shutdown=0;
-# restart
+# restart: --innodb-force_recovery=0
DROP TABLE t1;
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/import_corrupted.result b/mysql-test/suite/innodb/r/import_corrupted.result
index 149a48dccfe..bc24a28f22f 100644
--- a/mysql-test/suite/innodb/r/import_corrupted.result
+++ b/mysql-test/suite/innodb/r/import_corrupted.result
@@ -1,6 +1,7 @@
call mtr.add_suppression("Table `test`.`t2` should have 2 indexes but the tablespace has 1 indexes");
call mtr.add_suppression("Index for table 't2' is corrupt; try to repair it");
call mtr.add_suppression("Trying to read .* bytes at .* outside the bounds of the file: \\..test.t2\\.ibd");
+call mtr.add_suppression("InnoDB: File '.*test/t2\\.ibd' is corrupted");
CREATE TABLE t1 (
id INT AUTO_INCREMENT PRIMARY KEY,
not_id INT,
diff --git a/mysql-test/suite/innodb/r/import_tablespace_race.result b/mysql-test/suite/innodb/r/import_tablespace_race.result
index 786b8cbd261..6c8b2e3a26e 100644
--- a/mysql-test/suite/innodb/r/import_tablespace_race.result
+++ b/mysql-test/suite/innodb/r/import_tablespace_race.result
@@ -1,6 +1,7 @@
#
# MDEV-29144 ER_TABLE_SCHEMA_MISMATCH or crash on DISCARD/IMPORT
#
+call mtr.add_suppression("InnoDB: Unknown index id");
CREATE TABLE t (pk int PRIMARY KEY, c varchar(1024))
ENGINE=InnoDB CHARSET latin1;
INSERT INTO t SELECT seq, 'x' FROM seq_1_to_100;
diff --git a/mysql-test/suite/innodb/r/information_schema_grants.result b/mysql-test/suite/innodb/r/information_schema_grants.result
index 21e34268e40..a468081db20 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 53ec7c2217a..d46bea183c9 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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 e39939b5d13..7dd1df8cfc5 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 62daef8e9ee..c55b4a3ddd5 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 0a101e6cbea..552944f1e35 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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 8e84ab0d69d..4475abab066 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
deleted file mode 100644
index f676d15b134..00000000000
--- a/mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# Bug#69122 - INNODB DOESN'T REDO-LOG INSERT BUFFER MERGE
-# OPERATION IF IT IS DONE IN-PLACE
-#
-call mtr.add_suppression("InnoDB: innodb_read_only prevents crash recovery");
-call mtr.add_suppression("Plugin initialization aborted at srv0start\\.cc");
-call mtr.add_suppression("Plugin 'InnoDB'");
-FLUSH TABLES;
-CREATE TABLE t1(
-a INT AUTO_INCREMENT PRIMARY KEY,
-b CHAR(1),
-c INT,
-INDEX(b))
-ENGINE=InnoDB STATS_PERSISTENT=0;
-SET GLOBAL innodb_change_buffering_debug = 1;
-SET GLOBAL innodb_change_buffering = all;
-INSERT INTO t1 SELECT 0,'x',1 FROM seq_1_to_8192;
-BEGIN;
-SELECT b FROM t1 LIMIT 3;
-b
-x
-x
-x
-connect con1,localhost,root,,;
-BEGIN;
-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
-disconnect con1;
-connection default;
-FOUND 1 /Wrote log record for ibuf update in place operation/ in mysqld.1.err
-# restart: --innodb-read-only
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check Error Unknown storage engine 'InnoDB'
-test.t1 check error Corrupt
-FOUND 1 /innodb_read_only prevents crash recovery/ in mysqld.1.err
-# restart: --innodb-force-recovery=5
-SELECT * FROM t1 LIMIT 1;
-a b c
-1 X 1
-SHOW ENGINE INNODB STATUS;
-Type Name Status
-InnoDB insert 0, delete mark 0
-SET GLOBAL innodb_fast_shutdown=0;
-# restart
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-SHOW ENGINE INNODB STATUS;
-Type Name Status
-InnoDB
-DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-dict.result b/mysql-test/suite/innodb/r/innodb-dict.result
index 5ec2c615a9f..5be1cefaa93 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 394bfeaacd0..e06c744fedd 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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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-fkcheck.result b/mysql-test/suite/innodb/r/innodb-fkcheck.result
index 2c2be83a3ff..f86ba50597f 100644
--- a/mysql-test/suite/innodb/r/innodb-fkcheck.result
+++ b/mysql-test/suite/innodb/r/innodb-fkcheck.result
@@ -33,11 +33,19 @@ b bigint unsigned NOT NULL,
d1 date NOT NULL,
PRIMARY KEY (b,d1)
) ENGINE=InnoDB;
+DROP TABLE b;
+set foreign_key_checks = 1;
+CREATE TABLE b (
+b bigint unsigned NOT NULL,
+d1 date NOT NULL,
+PRIMARY KEY (b,d1)
+) ENGINE=InnoDB;
ERROR HY000: Can't create table `bug_fk`.`b` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
Level Code Message
Error 1005 Can't create table `bug_fk`.`b` (errno: 150 "Foreign key constraint is incorrectly formed")
Warning 1215 Cannot add foreign key constraint for `b`
+set foreign_key_checks = 0;
DROP TABLE IF EXISTS d;
Warnings:
Note 1051 Unknown table 'bug_fk.d'
diff --git a/mysql-test/suite/innodb/r/innodb-index-debug.result b/mysql-test/suite/innodb/r/innodb-index-debug.result
index bcd41392adb..8c200109aa4 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 b610d7a00b5..84e8ea89635 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 94853aee536..7138c5d7a18 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
@@ -400,7 +399,6 @@ Note 1831 Duplicate index `c2f`. This is deprecated and will be disallowed in a
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
@@ -464,8 +462,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
@@ -473,8 +470,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
@@ -493,7 +489,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
@@ -513,7 +508,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;
@@ -524,6 +518,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 ad169757571..2292188c8ac 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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 e8d21703844..580ed08e424 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;
@@ -92,10 +81,11 @@ test/t_redundant DEFAULT DEFAULT MYSQLD_DATADIR/test/t_redundant.ibd
test/t_compact DEFAULT DEFAULT MYSQLD_DATADIR/test/t_compact.ibd
test/t_compressed DEFAULT 2048 MYSQLD_DATADIR/test/t_compressed.ibd
test/t_dynamic DEFAULT DEFAULT MYSQLD_DATADIR/test/t_dynamic.ibd
+innodb_temporary DEFAULT DEFAULT MYSQLD_DATADIR/ibtmp1
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 +109,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 8078daad633..5a8b3d24d75 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
@@ -29,7 +28,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
@@ -95,16 +93,15 @@ 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';
connection con1;
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
+DELETE FROM t1 WHERE c1=4 and c2=7;
connection default;
ROLLBACK;
connection con1;
@@ -123,7 +120,6 @@ 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
@@ -148,7 +144,6 @@ 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
@@ -164,7 +159,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,46 +202,36 @@ SET lock_wait_timeout = 10;
ALTER TABLE t1 ROW_FORMAT=COMPACT
PAGE_COMPRESSED = YES PAGE_COMPRESSION_LEVEL = 1, ALGORITHM = INPLACE;
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
@@ -274,7 +258,6 @@ ERROR HY000: Creating index 'PRIMARY' required more than 'innodb_online_alter_lo
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
@@ -295,7 +278,7 @@ 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;
@@ -304,7 +287,6 @@ 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
@@ -312,15 +294,11 @@ 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
@@ -330,7 +308,6 @@ 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
@@ -386,12 +363,11 @@ 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';
connection con1;
-ERROR 01000: Data truncated for column 'c3' at row 323
-connection default;
-ROLLBACK;
-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,
@@ -410,7 +386,6 @@ 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
@@ -418,20 +393,20 @@ ddl_log_file_alter_table 2
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
+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;
connection default;
@@ -444,9 +419,26 @@ t1 CREATE TABLE `t1` (
`c4` varchar(6) NOT NULL DEFAULT 'Online',
PRIMARY KEY (`c22f`,`c1`,`c4`(5))
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci 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;
+connection default;
+SELECT * FROM t1;
+a b
+0 NULL
+DROP TABLE t1;
+SET DEBUG_SYNC = 'RESET';
#
# MDEV-29600 Memory leak in row_log_table_apply_update()
#
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 714042df52d..b97eaac7565 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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 92ba8ac7147..5770ebb27db 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,23 @@ 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");
+call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*ibdata1' page");
+call mtr.add_suppression("InnoDB: File '.*ibdata1' is corrupted");
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 +43,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 +456,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 +479,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,
@@ -861,10 +864,8 @@ ALTER TABLE t1 DISCARD TABLESPACE;
SELECT COUNT(*) FROM t1;
ERROR HY000: Tablespace has been discarded for table `t1`
restore: t1 .ibd and .cfg files
-SET SESSION debug_dbug="+d,buf_page_import_corrupt_failure";
ALTER TABLE t1 IMPORT TABLESPACE;
-ERROR HY000: Internal error: Error importing tablespace for table `test`.`t1` : Data structure corruption
-SET SESSION debug_dbug=@saved_debug_dbug;
+ERROR HY000: Index for table 't1' is corrupt; try to repair it
DROP TABLE t1;
unlink: t1.ibd
unlink: t1.cfg
@@ -925,7 +926,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 d5ebfe2b959..7bcc57c5bd5 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-wl5980-debug.result b/mysql-test/suite/innodb/r/innodb-wl5980-debug.result
deleted file mode 100644
index 51cff4393aa..00000000000
--- a/mysql-test/suite/innodb/r/innodb-wl5980-debug.result
+++ /dev/null
@@ -1,27 +0,0 @@
-call mtr.add_suppression("Cannot find space id [0-9]+ in the tablespace memory cache");
-call mtr.add_suppression("Cannot rename table 'test/t1' to 'test/t2' since the dictionary cache already contains 'test/t2'.");
-#
-# WL5980 Remote tablespace debug error injection tests.
-#
-CREATE TABLE t1 (a int KEY, b text) ENGINE=Innodb DATA DIRECTORY='MYSQL_TMP_DIR/alt_dir' ;
-INSERT INTO t1 VALUES (1, 'tablespace');
-SELECT * FROM t1;
-a b
-1 tablespace
-#
-# Test the second injection point in fil_rename_tablespace().
-# Make sure the table is useable after this failure.
-#
-SET @save_dbug=@@debug_dbug;
-SET debug_dbug="+d,fil_rename_tablespace_failure_2";
-RENAME TABLE t1 TO t2;
-SET debug_dbug=@save_dbug;
-INSERT INTO t1 VALUES (2, 'tablespace');
-SELECT * FROM t1;
-a b
-1 tablespace
-2 tablespace
-#
-# Cleanup
-#
-DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb.result b/mysql-test/suite/innodb/r/innodb.result
index 6f4ea1fa1b9..47e5f0f5c94 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 COLLATE utf8_general_ci DEFAULT NULL
+ `v` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 COLLATE utf8_general_ci DEFAULT NULL
+ `v` mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
drop table t1;
SET sql_mode = default;
@@ -2531,9 +2531,19 @@ disconnect b;
set foreign_key_checks=0;
create table t2 (a int primary key, b int, foreign key (b) references t1(a)) engine = innodb;
create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
-ERROR HY000: Can't create table `test`.`t1` (errno: 150 "Foreign key constraint is incorrectly formed")
set foreign_key_checks=1;
+insert into t2 values (1,1);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `t1` (`a`))
+set foreign_key_checks=0;
+drop table t1;
+set foreign_key_checks=1;
+insert into t2 values (1,1);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `t1` (`a`))
+create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
+ERROR HY000: Can't create table `test`.`t1` (errno: 150 "Foreign key constraint is incorrectly formed")
drop table t2;
+create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
+drop table t1;
set foreign_key_checks=0;
create table t1(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=latin1;
create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=utf8;
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_ctype_ldml.result b/mysql-test/suite/innodb/r/innodb_ctype_ldml.result
index ff988418e12..82679961d68 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 c7e60934eb2..5f29fad8a1c 100644
--- a/mysql-test/suite/innodb/r/innodb_ctype_utf8.result
+++ b/mysql-test/suite/innodb/r/innodb_ctype_utf8.result
@@ -18,7 +18,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) 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
@@ -155,7 +155,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) 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 2dea21276ef..aa8cc118ce6 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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
drop table t1;
CREATE TABLE t1 (
a INT,
@@ -2190,7 +2190,7 @@ SELECT 1 FROM (SELECT COUNT(DISTINCT c1)
FROM t1 WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
-2 DERIVED t1 ref c3,c2 c3 5 const 2 Using where; Using filesort
+2 DERIVED t1 ref c3,c2 c3 5 const 2 Using where
DROP TABLE t1;
CREATE TABLE t1 (c1 REAL, c2 REAL, c3 REAL, KEY (c3), KEY (c2, c3))
ENGINE=InnoDB;
@@ -2204,7 +2204,7 @@ SELECT 1 FROM (SELECT COUNT(DISTINCT c1)
FROM t1 WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
-2 DERIVED t1 ref c3,c2 c3 9 const 2 Using where; Using filesort
+2 DERIVED t1 ref c3,c2 c3 9 const 2 Using where
DROP TABLE t1;
CREATE TABLE t1 (c1 DECIMAL(12,2), c2 DECIMAL(12,2), c3 DECIMAL(12,2),
KEY (c3), KEY (c2, c3))
@@ -2219,7 +2219,7 @@ SELECT 1 FROM (SELECT COUNT(DISTINCT c1)
FROM t1 WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2
-2 DERIVED t1 ref c3,c2 c3 7 const 2 Using where; Using filesort
+2 DERIVED t1 ref c3,c2 c3 7 const 2 Using where
DROP TABLE t1;
End of 5.1 tests
#
@@ -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_scrub.result b/mysql-test/suite/innodb/r/innodb_scrub.result
index 1a4db0b541e..b4a418ce2ad 100644
--- a/mysql-test/suite/innodb/r/innodb_scrub.result
+++ b/mysql-test/suite/innodb/r/innodb_scrub.result
@@ -10,3 +10,18 @@ FLUSH TABLE t1 FOR EXPORT;
UNLOCK TABLES;
NOT FOUND /unicycle|repairman/ in t1.ibd
DROP TABLE t1;
+#
+# MDEV-30527 Assertion !m_freed_pages in mtr_t::start()
+# on DROP TEMPORARY TABLE
+#
+SET @scrub= @@GLOBAL.innodb_immediate_scrub_data_uncompressed;
+SET GLOBAL innodb_immediate_scrub_data_uncompressed= 1;
+SET @fpt=@@GLOBAL.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table=0;
+CREATE TABLE t ENGINE=InnoDB AS SELECT 1;
+DROP TABLE t;
+SET GLOBAL innodb_file_per_table=@fpt;
+CREATE TEMPORARY TABLE tmp ENGINE=InnoDB AS SELECT 1;
+DROP TABLE tmp;
+SET GLOBAL INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED= @scrub;
+# End of 10.6 tests
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 c6c0480fc8b..9bdb546482e 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
@@ -108,12 +106,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
@@ -169,7 +163,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
@@ -206,7 +199,7 @@ compress_pages_page_decompressed compression 0 NULL NULL NULL 0 NULL NULL NULL N
compress_pages_page_compression_error compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of page compression errors
compress_pages_encrypted compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of pages encrypted
compress_pages_decrypted compression 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of pages decrypted
-index_page_splits index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of index page splits
+index_page_splits index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Number of index page splits
index_page_merge_attempts index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of index page merge attempts
index_page_merge_successful index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of successful index page merges
index_page_reorg_attempts index 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of index page reorganization attempts
@@ -233,7 +226,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
@@ -241,15 +233,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
@@ -259,7 +242,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
@@ -334,7 +316,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:
@@ -364,23 +345,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 39969ec408e..70f1edabf11 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 COLLATE=latin1_swedish_ci 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 044a5a4b23f..5b8ca678795 100644
--- a/mysql-test/suite/innodb/r/innodb_status_variables.result
+++ b/mysql-test/suite/innodb/r/innodb_status_variables.result
@@ -22,6 +22,8 @@ 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_PAGES_SPLIT
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/innodb_wl6326.result b/mysql-test/suite/innodb/r/innodb_wl6326.result
deleted file mode 100644
index fcd58aedafe..00000000000
--- a/mysql-test/suite/innodb/r/innodb_wl6326.result
+++ /dev/null
@@ -1,405 +0,0 @@
-SET GLOBAL innodb_adaptive_hash_index = false;
-SET GLOBAL innodb_stats_persistent = false;
-connect con1,localhost,root,,;
-connect con2,localhost,root,,;
-connect con3,localhost,root,,;
-CREATE TABLE t1 (
-a00 CHAR(255) NOT NULL DEFAULT 'a',
-a01 CHAR(255) NOT NULL DEFAULT 'a',
-a02 CHAR(255) NOT NULL DEFAULT 'a',
-a03 CHAR(255) NOT NULL DEFAULT 'a',
-a04 CHAR(255) NOT NULL DEFAULT 'a',
-a05 CHAR(255) NOT NULL DEFAULT 'a',
-a06 CHAR(255) NOT NULL DEFAULT 'a',
-b INT NOT NULL DEFAULT 0
-) ENGINE = InnoDB;
-ALTER TABLE t1 ADD PRIMARY KEY(
-a00,
-a01,
-a02,
-a03,
-a04,
-a05,
-a06
-);
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-1
-SET GLOBAL innodb_limit_optimistic_insert_debug = 7;
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('aa');
-INSERT INTO t1 (a00) VALUES ('ab');
-INSERT INTO t1 (a00) VALUES ('ac');
-INSERT INTO t1 (a00) VALUES ('ad');
-INSERT INTO t1 (a00) VALUES ('ae');
-INSERT INTO t1 (a00) VALUES ('af');
-INSERT INTO t1 (a00) VALUES ('ag');
-INSERT INTO t1 (a00) VALUES ('ah');
-COMMIT;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-3
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('ai');
-INSERT INTO t1 (a00) VALUES ('aj');
-INSERT INTO t1 (a00) VALUES ('ak');
-COMMIT;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-4
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('al');
-INSERT INTO t1 (a00) VALUES ('am');
-INSERT INTO t1 (a00) VALUES ('an');
-INSERT INTO t1 (a00) VALUES ('ao');
-INSERT INTO t1 (a00) VALUES ('ap');
-INSERT INTO t1 (a00) VALUES ('aq');
-INSERT INTO t1 (a00) VALUES ('ar');
-COMMIT;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-5
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('as');
-INSERT INTO t1 (a00) VALUES ('at');
-INSERT INTO t1 (a00) VALUES ('au');
-INSERT INTO t1 (a00) VALUES ('av');
-INSERT INTO t1 (a00) VALUES ('aw');
-INSERT INTO t1 (a00) VALUES ('ax');
-INSERT INTO t1 (a00) VALUES ('ay');
-COMMIT;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-6
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('az');
-INSERT INTO t1 (a00) VALUES ('ba');
-INSERT INTO t1 (a00) VALUES ('bb');
-INSERT INTO t1 (a00) VALUES ('bc');
-INSERT INTO t1 (a00) VALUES ('bd');
-INSERT INTO t1 (a00) VALUES ('be');
-INSERT INTO t1 (a00) VALUES ('bf');
-COMMIT;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-7
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('bg');
-INSERT INTO t1 (a00) VALUES ('bh');
-INSERT INTO t1 (a00) VALUES ('bi');
-INSERT INTO t1 (a00) VALUES ('bj');
-INSERT INTO t1 (a00) VALUES ('bk');
-INSERT INTO t1 (a00) VALUES ('bl');
-INSERT INTO t1 (a00) VALUES ('bm');
-COMMIT;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-8
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('bn');
-INSERT INTO t1 (a00) VALUES ('bo');
-INSERT INTO t1 (a00) VALUES ('bp');
-INSERT INTO t1 (a00) VALUES ('bq');
-INSERT INTO t1 (a00) VALUES ('br');
-INSERT INTO t1 (a00) VALUES ('bs');
-INSERT INTO t1 (a00) VALUES ('bt');
-COMMIT;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-11
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('bu');
-INSERT INTO t1 (a00) VALUES ('bv');
-INSERT INTO t1 (a00) VALUES ('bw');
-INSERT INTO t1 (a00) VALUES ('bx');
-INSERT INTO t1 (a00) VALUES ('by');
-INSERT INTO t1 (a00) VALUES ('bz');
-INSERT INTO t1 (a00) VALUES ('ca');
-INSERT INTO t1 (a00) VALUES ('cb');
-INSERT INTO t1 (a00) VALUES ('cc');
-INSERT INTO t1 (a00) VALUES ('cd');
-INSERT INTO t1 (a00) VALUES ('ce');
-INSERT INTO t1 (a00) VALUES ('cf');
-INSERT INTO t1 (a00) VALUES ('cg');
-INSERT INTO t1 (a00) VALUES ('ch');
-INSERT INTO t1 (a00) VALUES ('ci');
-INSERT INTO t1 (a00) VALUES ('cj');
-INSERT INTO t1 (a00) VALUES ('ck');
-INSERT INTO t1 (a00) VALUES ('cl');
-INSERT INTO t1 (a00) VALUES ('cm');
-INSERT INTO t1 (a00) VALUES ('cn');
-INSERT INTO t1 (a00) VALUES ('co');
-COMMIT;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-15
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('cp');
-INSERT INTO t1 (a00) VALUES ('cq');
-INSERT INTO t1 (a00) VALUES ('cr');
-INSERT INTO t1 (a00) VALUES ('cs');
-INSERT INTO t1 (a00) VALUES ('ct');
-INSERT INTO t1 (a00) VALUES ('cu');
-INSERT INTO t1 (a00) VALUES ('cv');
-INSERT INTO t1 (a00) VALUES ('cw');
-INSERT INTO t1 (a00) VALUES ('cx');
-INSERT INTO t1 (a00) VALUES ('cy');
-INSERT INTO t1 (a00) VALUES ('cz');
-INSERT INTO t1 (a00) VALUES ('da');
-INSERT INTO t1 (a00) VALUES ('db');
-INSERT INTO t1 (a00) VALUES ('dc');
-INSERT INTO t1 (a00) VALUES ('dd');
-INSERT INTO t1 (a00) VALUES ('de');
-INSERT INTO t1 (a00) VALUES ('df');
-INSERT INTO t1 (a00) VALUES ('dg');
-INSERT INTO t1 (a00) VALUES ('dh');
-INSERT INTO t1 (a00) VALUES ('di');
-INSERT INTO t1 (a00) VALUES ('dj');
-INSERT INTO t1 (a00) VALUES ('dk');
-INSERT INTO t1 (a00) VALUES ('dl');
-INSERT INTO t1 (a00) VALUES ('dm');
-INSERT INTO t1 (a00) VALUES ('dn');
-INSERT INTO t1 (a00) VALUES ('do');
-INSERT INTO t1 (a00) VALUES ('dp');
-INSERT INTO t1 (a00) VALUES ('dq');
-INSERT INTO t1 (a00) VALUES ('dr');
-INSERT INTO t1 (a00) VALUES ('ds');
-INSERT INTO t1 (a00) VALUES ('dt');
-INSERT INTO t1 (a00) VALUES ('du');
-INSERT INTO t1 (a00) VALUES ('dv');
-INSERT INTO t1 (a00) VALUES ('dw');
-INSERT INTO t1 (a00) VALUES ('dx');
-INSERT INTO t1 (a00) VALUES ('dy');
-INSERT INTO t1 (a00) VALUES ('dz');
-INSERT INTO t1 (a00) VALUES ('ea');
-INSERT INTO t1 (a00) VALUES ('eb');
-INSERT INTO t1 (a00) VALUES ('ec');
-INSERT INTO t1 (a00) VALUES ('ed');
-INSERT INTO t1 (a00) VALUES ('ee');
-INSERT INTO t1 (a00) VALUES ('ef');
-INSERT INTO t1 (a00) VALUES ('eg');
-INSERT INTO t1 (a00) VALUES ('eh');
-INSERT INTO t1 (a00) VALUES ('ei');
-INSERT INTO t1 (a00) VALUES ('ej');
-INSERT INTO t1 (a00) VALUES ('ek');
-INSERT INTO t1 (a00) VALUES ('el');
-COMMIT;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-23
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('em');
-INSERT INTO t1 (a00) VALUES ('en');
-INSERT INTO t1 (a00) VALUES ('eo');
-INSERT INTO t1 (a00) VALUES ('ep');
-INSERT INTO t1 (a00) VALUES ('eq');
-INSERT INTO t1 (a00) VALUES ('er');
-INSERT INTO t1 (a00) VALUES ('es');
-INSERT INTO t1 (a00) VALUES ('et');
-INSERT INTO t1 (a00) VALUES ('eu');
-INSERT INTO t1 (a00) VALUES ('ev');
-INSERT INTO t1 (a00) VALUES ('ew');
-INSERT INTO t1 (a00) VALUES ('ex');
-INSERT INTO t1 (a00) VALUES ('ey');
-INSERT INTO t1 (a00) VALUES ('ez');
-INSERT INTO t1 (a00) VALUES ('fa');
-INSERT INTO t1 (a00) VALUES ('fb');
-INSERT INTO t1 (a00) VALUES ('fc');
-INSERT INTO t1 (a00) VALUES ('fd');
-INSERT INTO t1 (a00) VALUES ('fe');
-INSERT INTO t1 (a00) VALUES ('ff');
-INSERT INTO t1 (a00) VALUES ('fg');
-INSERT INTO t1 (a00) VALUES ('fh');
-INSERT INTO t1 (a00) VALUES ('fi');
-INSERT INTO t1 (a00) VALUES ('fj');
-INSERT INTO t1 (a00) VALUES ('fk');
-INSERT INTO t1 (a00) VALUES ('fl');
-INSERT INTO t1 (a00) VALUES ('fm');
-INSERT INTO t1 (a00) VALUES ('fn');
-INSERT INTO t1 (a00) VALUES ('fo');
-INSERT INTO t1 (a00) VALUES ('fp');
-INSERT INTO t1 (a00) VALUES ('fq');
-INSERT INTO t1 (a00) VALUES ('fr');
-INSERT INTO t1 (a00) VALUES ('fs');
-INSERT INTO t1 (a00) VALUES ('ft');
-INSERT INTO t1 (a00) VALUES ('fu');
-INSERT INTO t1 (a00) VALUES ('fv');
-INSERT INTO t1 (a00) VALUES ('fw');
-INSERT INTO t1 (a00) VALUES ('fx');
-INSERT INTO t1 (a00) VALUES ('fy');
-INSERT INTO t1 (a00) VALUES ('fz');
-INSERT INTO t1 (a00) VALUES ('ga');
-INSERT INTO t1 (a00) VALUES ('gb');
-INSERT INTO t1 (a00) VALUES ('gc');
-INSERT INTO t1 (a00) VALUES ('gd');
-INSERT INTO t1 (a00) VALUES ('ge');
-INSERT INTO t1 (a00) VALUES ('gf');
-INSERT INTO t1 (a00) VALUES ('gg');
-INSERT INTO t1 (a00) VALUES ('gh');
-COMMIT;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-29
-SET GLOBAL innodb_limit_optimistic_insert_debug = 0;
-# Test start
-SET DEBUG_SYNC = 'RESET';
-INSERT INTO t1 (a00) VALUES ('bfa');
-connection con1;
-SET DEBUG_SYNC = 'before_insert_pessimitic_row_ins_clust SIGNAL reached WAIT_FOR continue';
-INSERT INTO t1 (a00) VALUES ('bfb');
-connection con2;
-SET DEBUG_SYNC = 'now WAIT_FOR reached';
-SELECT a00,a01 FROM t1 WHERE a00 = 'aa';
-a00 a01
-aa a
-SELECT a00,a01 FROM t1 WHERE a00 = 'aq';
-a00 a01
-aq a
-SELECT a00,a01 FROM t1 WHERE a00 = 'cp';
-a00 a01
-cp a
-SELECT a00,a01 FROM t1 WHERE a00 = 'el';
-a00 a01
-el a
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait1';
-SELECT a00,a01 FROM t1 WHERE a00 = 'ar';
-connection con3;
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait2';
-SELECT a00,a01 FROM t1 WHERE a00 = 'cn';
-connection default;
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait1 TIMEOUT 1';
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait2 TIMEOUT 1';
-SET DEBUG_SYNC = 'now SIGNAL continue';
-connection con1;
-connection con2;
-a00 a01
-ar a
-connection con3;
-a00 a01
-cn a
-connection default;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-30
-SET DEBUG_SYNC = 'RESET';
-INSERT INTO t1 (a00) VALUES ('coa');
-connection con1;
-SET DEBUG_SYNC = 'before_insert_pessimitic_row_ins_clust SIGNAL reached WAIT_FOR continue';
-INSERT INTO t1 (a00) VALUES ('cob');
-connection con2;
-SET DEBUG_SYNC = 'now WAIT_FOR reached';
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait1';
-SELECT a00,a01 FROM t1 WHERE a00 = 'aa';
-connection con3;
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait2';
-SELECT a00,a01 FROM t1 WHERE a00 = 'el';
-connection default;
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait1 TIMEOUT 1';
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait2 TIMEOUT 1';
-SET DEBUG_SYNC = 'now SIGNAL continue';
-connection con1;
-connection con2;
-a00 a01
-aa a
-connection con3;
-a00 a01
-el a
-connection default;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-31
-SET DEBUG_SYNC = 'RESET';
-INSERT INTO t1 (a00) VALUES ('gba');
-connection con1;
-SET DEBUG_SYNC = 'before_insert_pessimitic_row_ins_clust SIGNAL reached WAIT_FOR continue';
-INSERT INTO t1 (a00) VALUES ('gbb');
-connection con2;
-SET DEBUG_SYNC = 'now WAIT_FOR reached';
-SELECT a00,a01 FROM t1 WHERE a00 = 'aa';
-a00 a01
-aa a
-SELECT a00,a01 FROM t1 WHERE a00 = 'ek';
-a00 a01
-ek a
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait1';
-SELECT a00,a01 FROM t1 WHERE a00 = 'el';
-connection con3;
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait2';
-SELECT a00,a01 FROM t1 WHERE a00 = 'gb';
-connection default;
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait1 TIMEOUT 1';
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait2 TIMEOUT 1';
-SET DEBUG_SYNC = 'now SIGNAL continue';
-connection con1;
-connection con2;
-a00 a01
-el a
-connection con3;
-a00 a01
-gb a
-connection default;
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze status Engine-independent statistics collected
-test.t1 analyze status OK
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-CLUST_INDEX_SIZE
-32
-SET DEBUG_SYNC = 'RESET';
-connection default;
-disconnect con1;
-disconnect con2;
-disconnect con3;
-DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/insert-before-delete.result b/mysql-test/suite/innodb/r/insert-before-delete.result
index 11e8fcea9d6..f2d2d260294 100644
--- a/mysql-test/suite/innodb/r/insert-before-delete.result
+++ b/mysql-test/suite/innodb/r/insert-before-delete.result
@@ -9,12 +9,12 @@ SELECT * FROM t WHERE sk = 100 FOR UPDATE;
pk sk
10 100
connect con2,localhost,root;
-SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL insert_wait_started";
+SET DEBUG_SYNC="lock_wait_start SIGNAL insert_wait_started";
INSERT INTO t VALUES (5, 100) # trx 1;
connect con3,localhost,root;
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
SET DEBUG_SYNC="now WAIT_FOR insert_wait_started";
-SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL delete_started_waiting";
+SET DEBUG_SYNC="lock_wait_start SIGNAL delete_started_waiting";
DELETE FROM t WHERE sk = 100 # trx 2;
connection con1;
SET DEBUG_SYNC="now WAIT_FOR delete_started_waiting";
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..ef7d015f7f3
--- /dev/null
+++ b/mysql-test/suite/innodb/r/insert_into_empty.result
@@ -0,0 +1,254 @@
+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);
+ROLLBACK;
+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;
+#
+# MDEV-28327 InnoDB persistent statistics fail to update
+# after bulk insert
+#
+CREATE TABLE t1 (a INT PRIMARY KEY)ENGINE=InnoDB
+STATS_PERSISTENT=1 STATS_AUTO_RECALC=1;
+INSERT INTO t1 SELECT * FROM seq_1_to_4096;
+# Wait till statistics update after bulk insert operation
+SELECT n_rows>=4096 FROM mysql.innodb_table_stats WHERE TABLE_NAME="t1";
+n_rows>=4096
+1
+DROP TABLE t1;
+#
+# MDEV-27214 Import with disabled keys corrupts meta-data like rows, indexes, ...
+#
+CREATE TABLE `t1` (
+`id` int(11) NOT NULL,
+`a` int(11) DEFAULT NULL,
+PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+STATS_PERSISTENT=1 STATS_AUTO_RECALC=1;
+INSERT INTO `t1` VALUES (1,2),(2,3),(3,4);
+# Wait till statistics update after bulk insert operation
+SELECT TABLE_ROWS, AVG_ROW_LENGTH>0 FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='test';
+TABLE_ROWS AVG_ROW_LENGTH>0
+3 1
+DROP TABLE t1;
+#
+# MDEV-29975 InnoDB fails to release savepoint during bulk insert
+#
+CREATE TABLE t (c INT KEY) ENGINE=InnoDB;
+begin;
+INSERT INTO t VALUES (0,0);
+ERROR 21S01: Column count doesn't match value count at row 1
+SAVEPOINT a;
+INSERT INTO t VALUES (0),(0);
+ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
+SAVEPOINT a;
+commit;
+SELECT * FROM t;
+c
+DROP TABLE t;
+#
+# MDEV-29545 InnoDB: Can't find record during replace stmt
+#
+CREATE TABLE t1(c1 INT PRIMARY KEY)ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 VALUES(3331);
+connect con1,localhost,root,,,;
+BEGIN;
+SELECT c1 FROM t1;
+c1
+connection default;
+COMMIT;
+connection con1;
+REPLACE INTO t1 VALUES(1984), (1984);
+COMMIT;
+connection default;
+disconnect con1;
+SELECT * FROM t1;
+c1
+1984
+3331
+DROP TABLE t1;
+# End of 10.6 tests
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..d9874802269
--- /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 COLLATE=latin1_swedish_ci
+disconnect con1;
+DROP TABLE t1;
+SET DEBUG_SYNC=RESET;
diff --git a/mysql-test/suite/innodb/r/insert_into_empty_notembedded.result b/mysql-test/suite/innodb/r/insert_into_empty_notembedded.result
new file mode 100644
index 00000000000..5305b2e7a85
--- /dev/null
+++ b/mysql-test/suite/innodb/r/insert_into_empty_notembedded.result
@@ -0,0 +1,30 @@
+#
+# Start of 10.6 tests
+#
+#
+# MDEV-27214 Import with disabled keys corrupts meta-data like rows, indexes, ...
+#
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 (id int, a int,PRIMARY KEY (id)) ENGINE=InnoDB
+STATS_PERSISTENT=1 STATS_AUTO_RECALC=1;
+INSERT INTO db1.t1 VALUES (1,2),(2,3),(3,4);
+DROP DATABASE IF EXISTS db1;
+CREATE DATABASE db1;
+# Wait till statistics update after bulk insert operation
+SELECT TABLE_ROWS, AVG_ROW_LENGTH>0 FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='db1';
+TABLE_ROWS AVG_ROW_LENGTH>0
+3 1
+OPTIMIZE TABLE db1.t1;
+Table Op Msg_type Msg_text
+db1.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+db1.t1 optimize status OK
+# Wait till statistics update after bulk insert operation
+SELECT TABLE_ROWS, AVG_ROW_LENGTH>0 FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='db1';
+TABLE_ROWS AVG_ROW_LENGTH>0
+3 1
+DROP DATABASE db1;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/suite/innodb/r/instant_alter_charset,redundant.rdiff b/mysql-test/suite/innodb/r/instant_alter_charset,redundant.rdiff
index dd4caf125af..90846ac4644 100644
--- a/mysql-test/suite/innodb/r/instant_alter_charset,redundant.rdiff
+++ b/mysql-test/suite/innodb/r/instant_alter_charset,redundant.rdiff
@@ -1,4 +1,4 @@
-@@ -288,7 +288,6 @@
+@@ -279,7 +279,6 @@
alter table boundary_255
modify a varchar(70) charset utf8mb4,
algorithm=instant;
@@ -6,7 +6,7 @@
drop table boundary_255;
create table t (
a char(10) collate utf8mb3_general_ci,
-@@ -306,35 +305,21 @@
+@@ -297,32 +296,21 @@
repeat('a', 10), repeat('a', 10)
);
alter table t modify a char(10) collate utf8mb4_general_ci, algorithm=instant;
@@ -25,19 +25,16 @@
-test.t check status OK
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
alter table t modify aa char(10) collate utf8mb4_general_ci, algorithm=instant;
--ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-check table t;
-Table Op Msg_type Msg_text
-test.t check status OK
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
alter table t modify bb char(70) collate utf8mb4_general_ci, algorithm=instant;
--ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-check table t;
-Table Op Msg_type Msg_text
-test.t check status OK
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
alter table t modify cc char(100) collate utf8mb4_general_ci, algorithm=instant;
--ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-check table t;
-Table Op Msg_type Msg_text
-test.t check status OK
@@ -45,10 +42,17 @@
alter table t modify d char(10) collate utf8mb4_spanish_ci, algorithm=instant;
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
alter table t modify dd char(10) collate utf8mb4_spanish_ci, algorithm=instant;
--ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
select * from t;
a b c aa bb cc d dd
aaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaa aaaaaaaaaa
-
-mysqltest: Result length mismatch
+@@ -2066,7 +2054,7 @@
+ ALTER TABLE t1
+ CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci,
+ ADD UNIQUE INDEX test_key (a);
+-ERROR 23000: Duplicate entry 'NULL' for key 'test_key'
++ERROR 23000: Duplicate entry 'a1' for key 'test_key'
+ ALTER TABLE t1 CONVERT TO CHARACTER SET UTF8MB4 COLLATE UTF8MB4_UNICODE_520_CI;
+ CHECK TABLE t1;
+ Table Op Msg_type Msg_text
diff --git a/mysql-test/suite/innodb/r/instant_alter_charset.result b/mysql-test/suite/innodb/r/instant_alter_charset.result
index bb00d697a02..91b166587e2 100644
--- a/mysql-test/suite/innodb/r/instant_alter_charset.result
+++ b/mysql-test/suite/innodb/r/instant_alter_charset.result
@@ -199,15 +199,6 @@ a varchar(150) charset utf8mb3 unique key
alter table key_part_bug
modify a varchar(150) charset utf8mb4,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table key_part_bug
-modify a varchar(150) charset utf8mb4,
-algorithm=nocopy;
-ERROR 0A000: ALGORITHM=NOCOPY is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table key_part_bug
-drop index a,
-modify a varchar(150) charset utf8mb4,
-algorithm=nocopy;
drop table key_part_bug;
create table latin1_swedish_special_case (
copy1 varchar(150) charset ascii collate ascii_general_ci,
@@ -318,23 +309,20 @@ check table t;
Table Op Msg_type Msg_text
test.t check status OK
alter table t modify aa char(10) collate utf8mb4_general_ci, algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
check table t;
Table Op Msg_type Msg_text
test.t check status OK
alter table t modify bb char(70) collate utf8mb4_general_ci, algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
check table t;
Table Op Msg_type Msg_text
test.t check status OK
alter table t modify cc char(100) collate utf8mb4_general_ci, algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
check table t;
Table Op Msg_type Msg_text
test.t check status OK
alter table t modify d char(10) collate utf8mb4_spanish_ci, algorithm=instant;
alter table t modify dd char(10) collate utf8mb4_spanish_ci, algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
select * from t;
a b c aa bb cc d dd
aaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaa aaaaaaaaaa
@@ -390,10 +378,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_general_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_general_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_general_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -407,10 +391,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_bin,
modify b varchar(50) charset utf8mb4 collate utf8mb4_bin,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_bin,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -424,10 +404,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_unicode_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -441,10 +417,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_icelandic_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_icelandic_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_icelandic_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -458,10 +430,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_latvian_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_latvian_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_latvian_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -475,10 +443,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_romanian_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_romanian_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_romanian_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -492,10 +456,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_slovenian_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_slovenian_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_slovenian_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -509,10 +469,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_polish_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_polish_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_polish_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -526,10 +482,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_estonian_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_estonian_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_estonian_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -543,10 +495,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_spanish_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_spanish_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_spanish_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -560,10 +508,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_swedish_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_swedish_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_swedish_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -577,10 +521,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_turkish_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_turkish_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_turkish_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -594,10 +534,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_czech_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_czech_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_czech_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -611,10 +547,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_danish_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_danish_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_danish_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -628,10 +560,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_lithuanian_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_lithuanian_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_lithuanian_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -645,10 +573,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_slovak_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_slovak_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_slovak_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -662,10 +586,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_spanish2_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_spanish2_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_spanish2_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -679,10 +599,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_roman_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_roman_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_roman_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -696,10 +612,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_persian_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_persian_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_persian_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -713,10 +625,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_esperanto_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_esperanto_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_esperanto_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -730,10 +638,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_hungarian_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_hungarian_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_hungarian_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -747,10 +651,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_sinhala_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_sinhala_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_sinhala_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -764,10 +664,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_german2_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_german2_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_german2_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -781,10 +677,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_croatian_mysql561_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_croatian_mysql561_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_croatian_mysql561_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -798,10 +690,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_520_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_unicode_520_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_520_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -815,10 +703,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -832,10 +716,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_croatian_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_croatian_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_croatian_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -849,10 +729,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_myanmar_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_myanmar_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_myanmar_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -866,10 +742,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_thai_520_w2,
modify b varchar(50) charset utf8mb4 collate utf8mb4_thai_520_w2,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_thai_520_w2,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -883,10 +755,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_general_nopad_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_general_nopad_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_general_nopad_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -900,10 +768,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_nopad_bin,
modify b varchar(50) charset utf8mb4 collate utf8mb4_nopad_bin,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_nopad_bin,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -917,10 +781,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_nopad_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_unicode_nopad_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_nopad_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -934,10 +794,6 @@ alter table tmp
change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_520_nopad_ci,
modify b varchar(50) charset utf8mb4 collate utf8mb4_unicode_520_nopad_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table tmp
-change a a varchar(50) charset utf8mb4 collate utf8mb4_unicode_520_nopad_ci,
-algorithm=instant;
check table tmp;
Table Op Msg_type Msg_text
test.tmp check status OK
@@ -974,7 +830,7 @@ algorithm=instant;
alter table tmp
modify b varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table tmp
modify c varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
algorithm=instant;
@@ -991,7 +847,7 @@ algorithm=instant;
alter table tmp
modify b varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table tmp
modify c varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
algorithm=instant;
@@ -1008,7 +864,7 @@ algorithm=instant;
alter table tmp
modify b varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table tmp
modify c varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
algorithm=instant;
@@ -1025,7 +881,7 @@ algorithm=instant;
alter table tmp
modify b varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table tmp
modify c varchar(50) charset utf8mb4 collate utf8mb4_vietnamese_ci,
algorithm=instant;
@@ -1042,7 +898,7 @@ algorithm=instant;
alter table tmp
modify b varchar(50) charset ascii collate ascii_bin,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table tmp
modify c varchar(50) charset ascii collate ascii_bin,
algorithm=instant;
@@ -1059,7 +915,7 @@ algorithm=instant;
alter table tmp
modify b varchar(50) charset utf8mb3 collate utf8mb3_lithuanian_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table tmp
modify c varchar(50) charset utf8mb3 collate utf8mb3_lithuanian_ci,
algorithm=instant;
@@ -1076,7 +932,7 @@ algorithm=instant;
alter table tmp
modify b varchar(50) charset utf8mb4 collate utf8mb4_persian_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table tmp
modify c varchar(50) charset utf8mb4 collate utf8mb4_persian_ci,
algorithm=instant;
@@ -1093,7 +949,7 @@ algorithm=instant;
alter table tmp
modify b varchar(50) charset utf8mb4 collate utf8mb4_german2_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table tmp
modify c varchar(50) charset utf8mb4 collate utf8mb4_german2_ci,
algorithm=instant;
@@ -1110,7 +966,7 @@ algorithm=instant;
alter table tmp
modify b varchar(50) charset utf8mb3 collate utf8mb3_unicode_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table tmp
modify c varchar(50) charset utf8mb3 collate utf8mb3_unicode_ci,
algorithm=instant;
@@ -1127,7 +983,7 @@ algorithm=instant;
alter table tmp
modify b varchar(50) charset latin1 collate latin1_general_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table tmp
modify c varchar(50) charset latin1 collate latin1_general_ci,
algorithm=instant;
@@ -1144,7 +1000,7 @@ algorithm=instant;
alter table tmp
modify b varchar(50) charset utf16 collate utf16_german2_ci,
algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table tmp
modify c varchar(50) charset utf16 collate utf16_german2_ci,
algorithm=instant;
@@ -2031,11 +1887,8 @@ insert into t values
alter table t modify a char(10) collate latin1_general_cs, algorithm=inplace;
ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
alter table t modify b char(10) collate latin1_general_cs, algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table t modify b char(10) collate latin1_general_cs, algorithm=nocopy;
-ERROR 0A000: ALGORITHM=NOCOPY is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table t modify b char(10) collate latin1_general_cs,
-drop index b_key, algorithm=nocopy;
check table t;
Table Op Msg_type Msg_text
test.t check status OK
@@ -2055,11 +1908,8 @@ insert into t values
alter table t modify a varchar(10) collate latin1_general_cs, algorithm=inplace;
ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
alter table t modify b varchar(10) collate latin1_general_cs, algorithm=instant;
-ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
+ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY
alter table t modify b varchar(10) collate latin1_general_cs, algorithm=nocopy;
-ERROR 0A000: ALGORITHM=NOCOPY is not supported. Reason: Collation change on an indexed column. Try ALGORITHM=COPY
-alter table t modify b varchar(10) collate latin1_general_cs,
-drop index b_key, algorithm=nocopy;
check table t;
Table Op Msg_type Msg_text
test.t check status OK
@@ -2175,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 COLLATE=latin1_swedish_ci
ALTER TABLE t1 MODIFY a VARCHAR(2)
@@ -2201,7 +2051,7 @@ INSERT INTO t1 VALUES (1, 'a1'), (2, 'a1');
ALTER TABLE t1
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci,
ADD UNIQUE INDEX test_key (a);
-ERROR 23000: Duplicate entry 'a1' for key 'test_key'
+ERROR 23000: Duplicate entry 'NULL' for key 'test_key'
ALTER TABLE t1 CONVERT TO CHARACTER SET UTF8MB4 COLLATE UTF8MB4_UNICODE_520_CI;
CHECK TABLE t1;
Table Op Msg_type Msg_text
@@ -2216,7 +2066,7 @@ INSERT INTO t1 VALUES (1, 'a1'), (2, 'a1');
ALTER TABLE t1
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci,
ADD UNIQUE INDEX test_key (a);
-ERROR 23000: Duplicate entry 'a1' for key 'test_key'
+ERROR 23000: Duplicate entry 'NULL' for key 'test_key'
ALTER TABLE t1 CONVERT TO CHARACTER SET UTF8MB4 COLLATE UTF8MB4_UNICODE_520_CI;
CHECK TABLE t1;
Table Op Msg_type Msg_text
diff --git a/mysql-test/suite/innodb/r/instant_alter_crash.result b/mysql-test/suite/innodb/r/instant_alter_crash.result
index d15c0337c37..f0fedcc7673 100644
--- a/mysql-test/suite/innodb/r/instant_alter_crash.result
+++ b/mysql-test/suite/innodb/r/instant_alter_crash.result
@@ -34,14 +34,15 @@ ROLLBACK;
InnoDB 0 transactions not purged
INSERT INTO t2 VALUES
(16,1551,'Omnium enim rerum'),(128,1571,' principia parva sunt');
+BEGIN;
+UPDATE t1 SET c2=c2+1;
connect ddl, localhost, root;
SET DEBUG_SYNC='innodb_alter_inplace_before_commit SIGNAL ddl WAIT_FOR ever';
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;
+COMMIT;
# Kill the server
disconnect ddl;
# restart
@@ -62,6 +63,8 @@ DELETE FROM t2;
ROLLBACK;
InnoDB 0 transactions not purged
INSERT INTO t2 VALUES (64,42,'De finibus bonorum'), (347,33101,' et malorum');
+BEGIN;
+DELETE FROM t1;
connect ddl, localhost, root;
ALTER TABLE t2 DROP COLUMN c3;
SET DEBUG_SYNC='innodb_alter_inplace_before_commit SIGNAL ddl WAIT_FOR ever';
@@ -69,8 +72,7 @@ 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;
+COMMIT;
# Kill the server
disconnect ddl;
# restart
@@ -140,6 +142,8 @@ InnoDB 0 transactions not purged
#
# MDEV-24323 Crash on recovery after kill during instant ADD COLUMN
#
+BEGIN;
+INSERT INTO t1 VALUES(0,0);
connect ddl, localhost, root;
CREATE TABLE t3(id INT PRIMARY KEY, c2 INT, v2 INT AS(c2) VIRTUAL, UNIQUE(v2))
ENGINE=InnoDB;
@@ -149,8 +153,7 @@ 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);
+COMMIT;
# Kill the server
disconnect ddl;
# restart
@@ -179,5 +182,27 @@ t3 CREATE TABLE `t3` (
PRIMARY KEY (`id`),
UNIQUE KEY `v2` (`v2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
-DROP TABLE t1,t2,t3;
+DROP TABLE t2,t3;
+#
+# MDEV-29440 InnoDB instant ALTER TABLE recovery wrongly uses
+# READ COMMITTED isolation level instead of READ UNCOMMITTED
+#
+CREATE TABLE t2(a INT UNSIGNED PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1),(2),(3),(4),(5),(6);
+BEGIN;
+DELETE FROM t1;
+connect ddl, localhost, root;
+SET DEBUG_SYNC='innodb_alter_inplace_before_commit SIGNAL ddl WAIT_FOR ever';
+ALTER TABLE t2 ADD COLUMN b TINYINT UNSIGNED NOT NULL DEFAULT 42 FIRST;
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR ddl';
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+COMMIT;
+# Kill the server
+disconnect ddl;
+# restart
+CHECK TABLE t2;
+Table Op Msg_type Msg_text
+test.t2 check status OK
+DROP TABLE t1,t2;
db.opt
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 d8c9a793a2e..e1ef373af06 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 d42636ea923..49f2213fbaf 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/leaf_page_corrupted_during_recovery.result b/mysql-test/suite/innodb/r/leaf_page_corrupted_during_recovery.result
index 37ddb0a9348..ca010d663fa 100644
--- a/mysql-test/suite/innodb/r/leaf_page_corrupted_during_recovery.result
+++ b/mysql-test/suite/innodb/r/leaf_page_corrupted_during_recovery.result
@@ -17,4 +17,8 @@ pk c
1 sql
SELECT * FROM t1 WHERE pk = 12;
ERROR HY000: Index for table 't1' is corrupt; try to repair it
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check Warning InnoDB: The B-tree of index PRIMARY is corrupted.
+test.t1 check error Corrupt
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/lock_delete_updated.result b/mysql-test/suite/innodb/r/lock_delete_updated.result
index b78cd11fb78..3ce63be36ab 100644
--- a/mysql-test/suite/innodb/r/lock_delete_updated.result
+++ b/mysql-test/suite/innodb/r/lock_delete_updated.result
@@ -3,7 +3,7 @@ INSERT INTO t VALUES (3);
BEGIN;
UPDATE t SET a = 2;
connect con1,localhost,root;
-SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL del_locked";
+SET DEBUG_SYNC="lock_wait_start SIGNAL del_locked";
DELETE FROM t;
connection default;
SET DEBUG_SYNC="now WAIT_FOR del_locked";
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/lock_move_wait_lock_race.result b/mysql-test/suite/innodb/r/lock_move_wait_lock_race.result
new file mode 100644
index 00000000000..572fbc9b1d1
--- /dev/null
+++ b/mysql-test/suite/innodb/r/lock_move_wait_lock_race.result
@@ -0,0 +1,34 @@
+CREATE TABLE t (pk int PRIMARY KEY, c varchar(10)) ENGINE=InnoDB;
+INSERT INTO t VALUES (10, "0123456789");
+connection default;
+BEGIN;
+SELECT * FROM t WHERE c = 10 FOR UPDATE;
+pk c
+connect trx2, localhost,root,,;
+BEGIN;
+SET DEBUG_SYNC="lock_wait_start SIGNAL trx2_start_waiting";
+SET DEBUG_SYNC="lock_wait_end SIGNAL trx2_wait_end WAIT_FOR trx2_cont_upd";
+SET DEBUG_SYNC="lock_rec_store_on_page_infimum_end SIGNAL trx2_moved_locks WAIT_FOR trx2_cont";
+UPDATE t SET c = NULL WHERE pk = 10;
+connect trx3, localhost,root,,;
+SET DEBUG_SYNC="now WAIT_FOR trx2_start_waiting";
+SET innodb_lock_wait_timeout=1;
+BEGIN;
+SET DEBUG_SYNC="lock_wait_start SIGNAL trx3_start_waiting WAIT_FOR trx3_cont_waiting";
+SET DEBUG_SYNC="lock_sys_t_cancel_enter SIGNAL trx3_cancel_enter WAIT_FOR trx3_cont_cancel_waiting";
+UPDATE t SET c = "abcdefghij" WHERE pk = 10;
+connection default;
+SET DEBUG_SYNC="now WAIT_FOR trx3_start_waiting";
+COMMIT;
+SET DEBUG_SYNC="now WAIT_FOR trx2_wait_end";
+SET DEBUG_SYNC="now SIGNAL trx3_cont_waiting";
+SET DEBUG_SYNC="now WAIT_FOR trx3_cancel_enter";
+SET DEBUG_SYNC="now SIGNAL trx2_cont_upd";
+SET DEBUG_SYNC="now WAIT_FOR trx2_moved_locks";
+SET DEBUG_SYNC="now SIGNAL trx3_cont_cancel_waiting";
+SET DEBUG_SYNC="now SIGNAL trx2_cont";
+disconnect trx2;
+disconnect trx3;
+connection default;
+SET DEBUG_SYNC="RESET";
+DROP TABLE t;
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/mdev-14846.result b/mysql-test/suite/innodb/r/mdev-14846.result
index 219bd718feb..a1ccfb6bb4d 100644
--- a/mysql-test/suite/innodb/r/mdev-14846.result
+++ b/mysql-test/suite/innodb/r/mdev-14846.result
@@ -31,11 +31,12 @@ pk f1 f2 f3
3 t q 1
5 z t NULL
SET DEBUG_SYNC='now SIGNAL default_dml';
+SET DEBUG_SYNC='now SIGNAL con2_dml';
connection default;
SET DEBUG_SYNC='now WAIT_FOR default_dml';
UPDATE t3 AS alias1 LEFT JOIN t3 AS alias2 ON ( alias1.f1 <> alias1.f2 ) SET alias1.f3 = 59 WHERE ( EXISTS ( SELECT t1.f3 FROM t1 WHERE t1.f1 = alias1.f1 ) ) OR alias2.f1 = 'h';
connect con2,localhost,root,,test;
-set debug_sync='now WAIT_FOR default_dml';
+set debug_sync='now WAIT_FOR con2_dml';
SET DEBUG_SYNC='now SIGNAL con1_dml2';
disconnect con2;
connection con1;
diff --git a/mysql-test/suite/innodb/r/monitor.result b/mysql-test/suite/innodb/r/monitor.result
index 15d6fc43ade..c874a84d26b 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
@@ -75,11 +73,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
@@ -135,7 +129,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
@@ -199,7 +192,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
@@ -207,15 +199,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
@@ -225,7 +208,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
@@ -270,15 +252,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="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
@@ -393,27 +366,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,
@@ -423,8 +378,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,
@@ -433,8 +386,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);
@@ -446,10 +397,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);
@@ -460,7 +410,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
@@ -475,7 +425,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
@@ -490,7 +440,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
@@ -507,7 +457,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
@@ -522,7 +472,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
@@ -537,7 +487,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
@@ -626,7 +576,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..d4bddbc5305
--- /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 COLLATE=latin1_swedish_ci
+DROP TABLE t1;
+disconnect con1;
+SET DEBUG_SYNC=reset;
diff --git a/mysql-test/suite/innodb/r/page_id_innochecksum.result b/mysql-test/suite/innodb/r/page_id_innochecksum.result
index e2c13442fe6..7a5f44b21e6 100644
--- a/mysql-test/suite/innodb/r/page_id_innochecksum.result
+++ b/mysql-test/suite/innodb/r/page_id_innochecksum.result
@@ -3,4 +3,7 @@ create table t1(f1 int not null)engine=innodb;
insert into t1 values(1), (2), (3);
# Change the page offset
FOUND 1 /page id mismatch/ in result.log
+SET GLOBAL innodb_purge_rseg_truncate_frequency=1;
+InnoDB 0 transactions not purged
drop table t1;
+call mtr.add_suppression("InnoDB: Failed to read page 3 from file '.*test/t1\\.ibd': Page read from tablespace is corrupted\\.");
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 9e3307eccf8..95d79a0ab14 100644
--- a/mysql-test/suite/innodb/r/restart.result
+++ b/mysql-test/suite/innodb/r/restart.result
@@ -9,8 +9,7 @@ call mtr.add_suppression("\\[ERROR\\] InnoDB: Restart in MySQL for migration/rec
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 eada084d669..779990351c6 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 2ba8369c0b1..ffcee726f0d 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
@@ -775,3 +775,30 @@ INSERT INTO t VALUES (1);
START TRANSACTION READ ONLY;
UPDATE t SET a = NULL;
ROLLBACK;
+DROP TABLE t;
+#
+# MDEV-29886 Assertion !index->table->is_temporary() failed
+# in trx_undo_prev_version_build upon CHECK
+#
+CREATE TEMPORARY TABLE t (a INT, KEY(a)) ENGINE=InnoDB SELECT 1;
+UPDATE t SET a=2;
+CHECK TABLE t;
+Table Op Msg_type Msg_text
+test.t check status OK
+CHECK TABLE t EXTENDED;
+Table Op Msg_type Msg_text
+test.t check status OK
+DROP TEMPORARY TABLE t;
+#
+# MDEV-29978 Corruption errors upon CHECK on temporary InnoDB table
+#
+CREATE TEMPORARY TABLE t (f INT UNIQUE) ENGINE=InnoDB;
+INSERT INTO t (f) VALUES (1),(2);
+CHECK TABLE t;
+Table Op Msg_type Msg_text
+test.t check status OK
+CHECK TABLE t EXTENDED;
+Table Op Msg_type Msg_text
+test.t check status OK
+DROP TEMPORARY TABLE t;
+# End of 10.6 tests
diff --git a/mysql-test/suite/innodb/r/temporary_table_optimization.result b/mysql-test/suite/innodb/r/temporary_table_optimization.result
index 7dac618e859..e2e9131b09d 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_crash.result b/mysql-test/suite/innodb/r/truncate_crash.result
index 0c20e76d331..ae3e6f6f4bf 100644
--- a/mysql-test/suite/innodb/r/truncate_crash.result
+++ b/mysql-test/suite/innodb/r/truncate_crash.result
@@ -8,6 +8,10 @@ connection default;
SET DEBUG_SYNC='now WAIT_FOR c';
# restart
disconnect wait;
+SET @save_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=@save_frequency;
SELECT COUNT(*) FROM t1;
COUNT(*)
0
diff --git a/mysql-test/suite/innodb/r/truncate_foreign.result b/mysql-test/suite/innodb/r/truncate_foreign.result
index 12a41860708..e587baa5288 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,31 @@ 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;
+SET FOREIGN_KEY_CHECKS=1;
+TRUNCATE t1;
+ERROR HY000: Cannot add foreign key constraint for `t1`
+INSERT INTO t1 VALUES (2,2);
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+SELECT * FROM t1;
+pk a
+1 1
+UNLOCK TABLES;
+INSERT INTO t1 VALUES (2,2);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
+SET FOREIGN_KEY_CHECKS=0;
+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 59a51972f87..b5348f65c5c 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/trx_id_future.result b/mysql-test/suite/innodb/r/trx_id_future.result
index 1ddc0e64f8b..4f88b1d4783 100644
--- a/mysql-test/suite/innodb/r/trx_id_future.result
+++ b/mysql-test/suite/innodb/r/trx_id_future.result
@@ -6,13 +6,9 @@ SET GLOBAL innodb_purge_rseg_truncate_frequency=1;
CREATE TABLE t1(a INT) row_format=redundant engine=innoDB;
INSERT INTO t1 VALUES(1);
InnoDB 0 transactions not purged
-NOT FOUND /\[Warning\] InnoDB: A transaction id in a record of table `test`\.`t1` is newer than the system-wide maximum/ in mysqld.1.err
call mtr.add_suppression("\\[Warning\\] InnoDB: A transaction id in a record of table `test`\\.`t1` is newer than the system-wide maximum");
-SET @save_count = @@max_error_count;
-SET max_error_count = 1;
+call mtr.add_suppression("\\[ERROR\\] InnoDB: We detected index corruption");
+call mtr.add_suppression("Index for table 't1' is corrupt; try to repair it");
SELECT * FROM t1;
-a
-Warnings:
-Warning 1642 InnoDB: Transaction id in a record of table `test`.`t1` is newer than system-wide maximum.
-SET max_error_count = @save_count;
+ERROR HY000: Index for table 't1' is corrupt; try to repair it
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/undo_truncate.result b/mysql-test/suite/innodb/r/undo_truncate.result
index 5be1e5c3426..48b184f07c7 100644
--- a/mysql-test/suite/innodb/r/undo_truncate.result
+++ b/mysql-test/suite/innodb/r/undo_truncate.result
@@ -1,5 +1,10 @@
SET GLOBAL innodb_undo_log_truncate = 0;
SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
+=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
+Space_Name Page_Size Zip_Size Path
+innodb_undo001 DEFAULT DEFAULT MYSQLD_DATADIR//undo001
+innodb_undo002 DEFAULT DEFAULT MYSQLD_DATADIR//undo002
+innodb_temporary DEFAULT DEFAULT MYSQLD_DATADIR/ibtmp1
create table t1(keyc int primary key, c char(100)) engine = innodb;
create table t2(keyc int primary key, c char(100)) engine = innodb;
connect con1,localhost,root,,;
diff --git a/mysql-test/suite/innodb/r/update-cascade.result b/mysql-test/suite/innodb/r/update-cascade.result
index 277e85a9036..00d052a0b56 100644
--- a/mysql-test/suite/innodb/r/update-cascade.result
+++ b/mysql-test/suite/innodb/r/update-cascade.result
@@ -38,7 +38,7 @@ select f1, f2 from t2 for update;
f1 f2
1 2
connection default;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL upd_waiting WAIT_FOR go_upd';
+set debug_sync='lock_wait_start SIGNAL upd_waiting WAIT_FOR go_upd';
update t1 set f1 = 10 where f1 = 2;
connection con1;
set debug_sync='now WAIT_FOR upd_waiting';
@@ -97,7 +97,7 @@ select f1, f2 from t2 for update;
f1 f2
1 91
connection default;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL upd_waiting WAIT_FOR go_upd';
+set debug_sync='lock_wait_start SIGNAL upd_waiting WAIT_FOR go_upd';
update t1 set f2 = 28 where f2 = 91;
connection con1;
set debug_sync='now WAIT_FOR upd_waiting';
@@ -164,7 +164,7 @@ select f1 from t3 for update;
f1
2
connection default;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL upd_waiting WAIT_FOR go_upd';
+set debug_sync='lock_wait_start SIGNAL upd_waiting WAIT_FOR go_upd';
update t1 set f1 = 10 where f1 = 2;
connection con1;
set debug_sync='now WAIT_FOR upd_waiting';
@@ -253,7 +253,7 @@ select f1 from t3 for update;
f1
2
connection default;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL upd_waiting WAIT_FOR go_upd';
+set debug_sync='lock_wait_start SIGNAL upd_waiting WAIT_FOR go_upd';
update t1 set f2 = 28 where f2 = 91;
connection con1;
set debug_sync='now WAIT_FOR upd_waiting';
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 f321308ce26..b62f812f4b7 100644
--- a/mysql-test/suite/innodb/t/alter_copy.test
+++ b/mysql-test/suite/innodb/t/alter_copy.test
@@ -62,7 +62,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;
@@ -75,7 +75,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;
@@ -89,9 +89,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 7a2f4452f4d..e0e294ae4f0 100644
--- a/mysql-test/suite/innodb/t/alter_crash.test
+++ b/mysql-test/suite/innodb/t/alter_crash.test
@@ -75,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
@@ -128,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
@@ -170,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
@@ -189,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;
@@ -224,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..ac0455902fd
--- /dev/null
+++ b/mysql-test/suite/innodb/t/alter_dml_apply.test
@@ -0,0 +1,60 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--source include/have_sequence.inc
+--source include/no_valgrind_without_big.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 0ce23646090..6d916a3f23b 100644
--- a/mysql-test/suite/innodb/t/alter_mdl_timeout.test
+++ b/mysql-test/suite/innodb/t/alter_mdl_timeout.test
@@ -15,7 +15,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 20088ef9dd3..bac1b1dcdcf 100644
--- a/mysql-test/suite/innodb/t/alter_missing_tablespace.test
+++ b/mysql-test/suite/innodb/t/alter_missing_tablespace.test
@@ -11,8 +11,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 f2175bd7f63..a2832bd5187 100644
--- a/mysql-test/suite/innodb/t/autoinc_persist.test
+++ b/mysql-test/suite/innodb/t/autoinc_persist.test
@@ -411,6 +411,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/change_column_collation.test b/mysql-test/suite/innodb/t/change_column_collation.test
index 1ba519535bd..b70925cf411 100644
--- a/mysql-test/suite/innodb/t/change_column_collation.test
+++ b/mysql-test/suite/innodb/t/change_column_collation.test
@@ -1,4 +1,8 @@
--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+--source include/count_sessions.inc
--echo #
--echo # MDEV-26294 Duplicate entries in unique index not detected when
@@ -14,11 +18,130 @@ CREATE TABLE t1 (
) ENGINE=INNODB;
INSERT INTO t1 VALUES (1, 'aaa');
INSERT INTO t1 VALUES (2, 'ååå');
+--error ER_DUP_ENTRY
+ALTER TABLE t1 MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci, ALGORITHM=inplace;
+DROP TABLE t1;
+
+# PageBulk insert shouldn't fail like records are not in ascending order
+
+CREATE TABLE t1 (
+ id INT PRIMARY KEY,
+ msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
+ id_2 INT not null,
+ unique index(msg, id_2)
+) ENGINE=INNODB;
+
+INSERT INTO t1 VALUES (1, 'aaa', 2);
+INSERT INTO t1 VALUES (2, 'AAA', 3);
+
+ALTER TABLE t1 MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci, ALGORITHM=inplace;
+
+DROP TABLE t1;
+
+# Detect the duplicate entry from concurrent DML
+
+CREATE TABLE t1 (
+ id INT PRIMARY KEY,
+ msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
+ unique index(msg)
+) ENGINE=INNODB;
+
+INSERT INTO t1 VALUES (1, 'aaa');
+INSERT INTO t1 VALUES (2, 'bbb');
+INSERT INTO t1 VALUES (3, 'ccc');
+
+SET DEBUG_SYNC = 'RESET';
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL before_apply WAIT_FOR go_ahead';
+--send
+ALTER TABLE t1 MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci, ALGORITHM=NOCOPY;
+
+connect (con1,localhost,root,,);
+connection con1;
+
+SET DEBUG_SYNC = 'now WAIT_FOR before_apply';
+INSERT INTO t1 VALUES (4, 'AAA');
+UPDATE t1 set msg = "ddd" where id = 2;
+DELETE FROM t1 WHERE id= 3;
+SET DEBUG_SYNC = 'now SIGNAL go_ahead';
+
+connection default;
+
+--error ER_DUP_ENTRY
+reap;
+
+SET DEBUG_SYNC = 'RESET';
+SELECT * FROM t1;
+DROP TABLE t1;
+
+# InnoDB should store the changed collation column into
+# change_col_info in index when rollback of alter happens
+
+CREATE TABLE t1 (
+ id INT PRIMARY KEY,
+ f1 INT NOT NULL,
+ f2 INT NOT NULL,
+ f3 INT NOT NULL,
+ msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
+ msg_1 VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_bin,
+ unique index(f1, msg, f2, msg_1, f3),
+ unique index(f1, msg_1, f2, msg, f3),
+ unique index(f1, msg, f3, msg_1, f2),
+ unique index(f1, msg_1, f3, msg, f2),
+ unique index(f2, msg_1, f1, msg, f3),
+ unique index(f2, msg, f3, msg_1, f1),
+ unique index(f3, f2, msg, msg_1, f1),
+ unique index(f3, msg, msg_1, f1, f2)
+) ENGINE=INNODB;
+
+INSERT INTO t1 VALUES (1, 1, 1, 1, 'aaa', 'aaa');
+SET DEBUG_DBUG="+d,create_index_fail";
+SET DEBUG_SYNC="innodb_inplace_alter_table_enter SIGNAL con1_go WAIT_FOR alter_signal";
+--send
+ALTER TABLE t1 MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci, MODIFY msg_1 VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci, ALGORITHM=NOCOPY;
+
+connection con1;
+SET DEBUG_SYNC="now WAIT_FOR con1_go";
+BEGIN;
+SELECT * FROM t1;
+SET DEBUG_SYNC="now SIGNAL alter_signal";
+connection default;
+--error ER_DUP_ENTRY
+reap;
+CHECK TABLE t1;
+connection con1;
+rollback;
+INSERT INTO t1 VALUES(2, 2, 2, 2, 'bbb', 'bbb');
+disconnect con1;
+connection default;
+SET DEBUG_SYNC=reset;
+SHOW CREATE TABLE t1;
+INSERT INTO t1 VALUES(3, 3, 3, 3, 'ccc', 'ccc');
+DROP TABLE t1;
+
+# Inplace Collation change is not supported for virtual column
+# and stored column
+
+CREATE TABLE t1(id INT PRIMARY KEY, msg VARCHAR(100),
+ msg_1 VARCHAR(100) AS (msg) VIRTUAL,
+ msg_2 VARCHAR(100) AS (msg) STORED,
+ UNIQUE(msg), UNIQUE(msg_1),
+ UNIQUE(msg_2))ENGINE=InnoDB;
+--error ER_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN
+ALTER TABLE t1 MODIFY msg_1 VARCHAR(100) CHARACTER SET utf8
+ COLLATE utf8_unicode_ci, ALGORITHM=inplace;
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
-ALTER TABLE t1
-MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci,
-ALGORITHM=NOCOPY;
-ALTER TABLE t1 DROP INDEX msg,
-MODIFY msg VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci,
-ALGORITHM=NOCOPY;
+ALTER TABLE t1 MODIFY msg_2 VARCHAR(100) CHARACTER SET utf8
+ COLLATE utf8_unicode_ci, ALGORITHM=inplace;
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-29314 Assertion `n_fields > n_cols' failed
+--echo # in dict_index_t::init_change_cols
+--echo #
+CREATE TABLE t (a VARCHAR(16) COLLATE utf8_bin,
+ FULLTEXT (a)) ENGINE=InnoDB COLLATE utf8_unicode_520_ci;
+ALTER TABLE t MODIFY COLUMN a VARCHAR(512);
+SHOW CREATE TABLE t;
+DROP TABLE t;
+
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/corrupted_during_recovery.test b/mysql-test/suite/innodb/t/corrupted_during_recovery.test
index 31fd1f18b8a..31d353efa38 100644
--- a/mysql-test/suite/innodb/t/corrupted_during_recovery.test
+++ b/mysql-test/suite/innodb/t/corrupted_during_recovery.test
@@ -6,8 +6,10 @@ 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: Database page corruption on disk or a failed read of file '.*test.t1\\.ibd' page");
call mtr.add_suppression("InnoDB: Failed to read page 3 from file '.*test.t1\\.ibd': Page read from tablespace is corrupted.");
-call mtr.add_suppression("InnoDB: Background Page read failed to read or decrypt \\[page id: space=\\d+, page number=3\\]");
+call mtr.add_suppression("InnoDB: (Unable to apply log to|Discarding log for) corrupted page .*, page number=3\\]");
call mtr.add_suppression("InnoDB: Table `test`.`t1` is corrupted. Please drop the table and recreate.");
+call mtr.add_suppression("InnoDB: File '.*test/t1\\.ibd' is corrupted");
+call mtr.add_suppression("InnoDB: A long wait .* was observed for dict_sys");
--enable_query_log
let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
diff --git a/mysql-test/suite/innodb/t/create-index-debug.test b/mysql-test/suite/innodb/t/create-index-debug.test
deleted file mode 100644
index 9ea416fbe1e..00000000000
--- a/mysql-test/suite/innodb/t/create-index-debug.test
+++ /dev/null
@@ -1,34 +0,0 @@
---source include/have_innodb.inc
---source include/have_innodb_16k.inc
---source include/have_debug.inc
-
-SET @saved_debug_dbug = @@SESSION.debug_dbug;
-
---echo #
---echo #BUG#21326304 INNODB ONLINE ALTER TABLE ENDS IN CRASH ON DISK FULL
---echo #
-CREATE TABLE t1(f1 CHAR(255) NOT NULL, f2 CHAR(255) NOT NULL, f3
-CHAR(255) NOT NULL, f4 CHAR(255) NOT NULL, f5 CHAR(255) NOT NULL,f6
-CHAR(255) NOT NULL, f7 CHAR(255) NOT NULL, f8 CHAR(255) NOT NULL,f9
-CHAR(255) NOT NULL, f10 CHAR(255) NOT NULL, f11 CHAR(255) NOT NULL,f12
-CHAR(255) NOT NULL, f13 CHAR(255) NOT NULL, f14 CHAR(255) NOT NULL,f15
-CHAR(255) NOT NULL, f16 CHAR(255) NOT NULL, f17 CHAR(255) NOT NULL,f18
-CHAR(255) NOT NULL)
-ENGINE=INNODB ROW_FORMAT=DYNAMIC;
-
-INSERT INTO t1
-VALUES('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r');
-
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-INSERT INTO t1 SELECT * FROM t1;
-
-SET debug_dbug = '+d,disk_is_full';
-
---error ER_RECORD_FILE_FULL
-ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
-
-SET debug_dbug= @saved_debug_dbug;
-
-DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/create_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/cursor-restore-locking.test b/mysql-test/suite/innodb/t/cursor-restore-locking.test
index 0f083f9295b..f8d00f57a5e 100644
--- a/mysql-test/suite/innodb/t/cursor-restore-locking.test
+++ b/mysql-test/suite/innodb/t/cursor-restore-locking.test
@@ -19,13 +19,13 @@ SET DEBUG_SYNC = 'innodb_row_search_for_mysql_exit SIGNAL first_del_row_search_m
--connect(con_ins_1,localhost,root,,)
SET DEBUG_SYNC = 'now WAIT_FOR first_del_row_search_mvcc_finished';
# It's supposed the following INSERT will be suspended just after
-# lock_wait_suspend_thread_enter syncpoint, and will be awaken
+# lock_wait_start syncpoint, and will be awaken
# after the previous DELETE commits. ib_after_row_insert will be executed
# after the INSERT is woken up. The previous DELETE will wait for
# first_del_cont signal before commit, and this signal will be sent later.
# So it's safe to use two signals in a row here, it's guaranted the first
# signal will be received before the second signal is sent.
-SET DEBUG_SYNC = 'lock_wait_suspend_thread_enter SIGNAL first_ins_locked';
+SET DEBUG_SYNC = 'lock_wait_start SIGNAL first_ins_locked';
SET DEBUG_SYNC = 'ib_after_row_insert SIGNAL first_ins_row_inserted WAIT_FOR first_ins_cont';
--send INSERT INTO t VALUES(10, 20)
@@ -35,7 +35,7 @@ SET DEBUG_SYNC = 'ib_after_row_insert SIGNAL first_ins_row_inserted WAIT_FOR fir
# But it still requests not-gap lock for RC.
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET DEBUG_SYNC = 'now WAIT_FOR first_ins_locked';
-SET DEBUG_SYNC = 'lock_wait_suspend_thread_enter SIGNAL second_del_locked';
+SET DEBUG_SYNC = 'lock_wait_start SIGNAL second_del_locked';
###############################################################################
# This DELETE is locked by the previous DELETE, after that DELETE is
# committed, it will still be locked by the next INSERT on delete-marked
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/deadlock_victim_race.test b/mysql-test/suite/innodb/t/deadlock_victim_race.test
new file mode 100644
index 00000000000..b9a442fc5b9
--- /dev/null
+++ b/mysql-test/suite/innodb/t/deadlock_victim_race.test
@@ -0,0 +1,113 @@
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source include/count_sessions.inc
+
+--connect(cancel_purge,localhost,root,,)
+# Purge can cause deadlock in the test, requesting page's RW_X_LATCH for trx
+# ids reseting, after trx 2 acqured RW_S_LATCH and suspended in debug sync point
+# lock_trx_handle_wait_enter, waiting for upd_cont signal, which must be
+# emitted after the last SELECT in this test. The last SELECT will hang waiting
+# for purge RW_X_LATCH releasing, and trx 2 will be rolled back by timeout.
+# The last SELECT will then be successfully executed instead of finishing by
+# lock wait timeout.
+START TRANSACTION WITH CONSISTENT SNAPSHOT;
+
+--connection default
+CREATE TABLE t (a int PRIMARY KEY, b int) engine = InnoDB;
+CREATE TABLE t2 (a int PRIMARY KEY) engine = InnoDB;
+
+INSERT INTO t VALUES (10, 10), (20, 20), (30, 30);
+INSERT INTO t2 VALUES (10), (20), (30);
+
+BEGIN; # trx 1
+SELECT * FROM t WHERE a = 20 FOR UPDATE;
+# Locking order:
+# (10,10) (20,20) (30,30)
+# ^
+# trx 1
+
+--connect(con_2,localhost,root,,)
+# RC is neccessary to do semi-consistent read
+SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
+BEGIN; # trx 2
+# The first time it will be hit on trying to lock (20,20), the second hit
+# will be on (30,30).
+SET DEBUG_SYNC = 'lock_trx_handle_wait_enter SIGNAL upd_locked WAIT_FOR upd_cont EXECUTE 2';
+# We must not modify primary key fields to cause rr_sequential() read record
+# function choosing in mysql_update(), i.e. both query_plan.using_filesort and
+# query_plan.using_io_buffer must be false during init_read_record() call.
+--send UPDATE t SET b = 100
+
+--connect(con_3,localhost,root,,)
+BEGIN; # trx 3
+# The following update is necessary to increase the transaction weight, which is
+# calculated as the number of locks + the number of undo records during deadlock
+# report. Victim's transaction should have minimum weight. We need trx 2 to be
+# choosen as victim, that's why we need to increase the current transaction
+# weight.
+UPDATE t2 SET a = a + 100;
+SELECT * FROM t WHERE a = 30 FOR UPDATE;
+SET DEBUG_SYNC='now WAIT_FOR upd_locked';
+# Locking queue:
+# (10,10) (20,20) (30,30)
+# ^ ^ ^
+# trx 2 trx 1 trx 3
+# trx 2 (waiting for 1)
+
+SET DEBUG_SYNC = 'lock_wait_start SIGNAL sel_locked';
+--send SELECT * FROM t WHERE a = 20 FOR UPDATE
+--connection default
+SET DEBUG_SYNC='now WAIT_FOR sel_locked';
+# Locking queue:
+# (10,10) (20,20) (30,30)
+# ^ ^ ^
+# trx 2 trx 1 trx 3
+# trx 2 (waiting for 1)
+# trx 3 (waiting for 1)
+#
+# Note trx 1 must grant lock to trx2 before trx 2 checks the lock state in
+# lock_trx_handle_wait(), i.e. the function must return DB_SUCCESS, that's why
+# the following ROLLBACK must be executed before sending upd_cont signal.
+ROLLBACK;
+SET DEBUG_SYNC='now SIGNAL upd_cont';
+
+SET DEBUG_SYNC="now WAIT_FOR upd_locked";
+# Locking queue:
+# (10,10) (20,20) (30,30)
+# ^ ^ ^
+# trx 2 trx 2 trx 3
+# trx 3 (waiting for 2) trx 2 (waiting for 3)
+#
+# Deadlock happened after trx 1 granted lock to trx 2, and trx2 continued
+# sequential read (with rr_sequential() read record function), and requested
+# lock on (30,30). But the deadlock has not been determined yet.
+
+SET SESSION innodb_lock_wait_timeout=1;
+--error ER_LOCK_WAIT_TIMEOUT
+# The deadlock will be determined in lock_wait() after lock wait timeout
+# expired.
+SELECT * FROM t WHERE a = 10 FOR UPDATE;
+SET DEBUG_SYNC="now SIGNAL upd_cont";
+
+--connection con_3
+--reap
+
+--connection con_2
+# As lock_trx_handle_wait() wrongly returned DB_SUCCESS instead of
+# DB_DEADLOCK, row_search_mvcc() of trx 2 behaves so as if (30,30) was locked.
+# But the waiting(for trx 3) lock was cancelled by deadlock checker after
+# trx 2 was choosen as a victim (see lock_cancel_waiting_and_release() call
+# from Deadlock::report() for details). The try to update non-locked record
+# will cause assertion if the bug is not fixed.
+--error ER_LOCK_DEADLOCK
+--reap
+
+--disconnect con_3
+--disconnect con_2
+
+--connection default
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t;
+DROP TABLE t2;
+--disconnect cancel_purge
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/deadlock_wait_lock_race.opt b/mysql-test/suite/innodb/t/deadlock_wait_lock_race.opt
new file mode 100644
index 00000000000..65470e63e44
--- /dev/null
+++ b/mysql-test/suite/innodb/t/deadlock_wait_lock_race.opt
@@ -0,0 +1 @@
+--innodb-force-recovery=2
diff --git a/mysql-test/suite/innodb/t/deadlock_wait_lock_race.test b/mysql-test/suite/innodb/t/deadlock_wait_lock_race.test
new file mode 100644
index 00000000000..79a62b098c9
--- /dev/null
+++ b/mysql-test/suite/innodb/t/deadlock_wait_lock_race.test
@@ -0,0 +1,67 @@
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source include/count_sessions.inc
+
+# Purge can cause deadlock in the test, requesting page's RW_X_LATCH for trx
+# ids reseting, after trx 2 acqured RW_S_LATCH and suspended in debug sync point
+# lock_trx_handle_wait_enter, waiting for upd_cont signal, which must be
+# emitted after the last SELECT in this test. The last SELECT will hang waiting
+# for purge RW_X_LATCH releasing, and trx 2 will be rolled back by timeout.
+
+# There is deadlock_report_before_lock_releasing sync point in
+# Deadlock::report(), which is waiting for sel_cont signal under
+# lock_sys_t lock. The signal must be issued after "UPDATE t SET b = 100"
+# rollback, and that rollback is executing undo record, which is blocked on
+# dict_sys latch request. dict_sys is locked by the thread of statistics
+# update(dict_stats_save()), and during that update lock_sys lock is requested,
+# and can't be acquired as Deadlock::report() holds it. We have to disable
+# statistics update to make the test stable.
+
+CREATE TABLE t (a int PRIMARY KEY, b int) engine = InnoDB STATS_PERSISTENT=0;
+CREATE TABLE t2 (a int PRIMARY KEY) engine = InnoDB STATS_PERSISTENT=0;
+
+INSERT INTO t VALUES (10, 10), (20, 20), (30, 30);
+INSERT INTO t2 VALUES (10), (20), (30);
+
+BEGIN; # trx 1
+# The following update is necessary to increase the transaction weight, which is
+# calculated as the number of locks + the number of undo records during deadlock
+# report. Victim's transaction should have minimum weight. We need trx 2 to be
+# choosen as victim, that's why we need to increase the current transaction
+# weight.
+UPDATE t2 SET a = a + 100;
+SELECT * FROM t WHERE a = 20 FOR UPDATE;
+
+--connect(con_2,localhost,root,,)
+# RC is necessary to do semi-consistent read
+SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
+BEGIN; # trx 2
+# The first time it will be hit on trying to lock (20,20), the second hit
+# will be on (30,30).
+SET DEBUG_SYNC = 'lock_trx_handle_wait_before_unlocked_wait_lock_check SIGNAL upd_locked WAIT_FOR upd_cont';
+# We must not modify primary key fields to cause rr_sequential() read record
+# function choosing in mysql_update(), i.e. both query_plan.using_filesort and
+# query_plan.using_io_buffer must be false during init_read_record() call.
+--send UPDATE t SET b = 100
+
+--connection default
+SET DEBUG_SYNC="now WAIT_FOR upd_locked";
+SET DEBUG_SYNC="lock_wait_before_suspend SIGNAL upd_cont";
+--send SELECT * FROM t WHERE a = 10 FOR UPDATE
+
+--connection con_2
+# If the bug is not fixed, lock_trx_handle_wait() wrongly returns DB_SUCCESS
+# instead of DB_DEADLOCK, row_search_mvcc() of trx 2 behaves so as if (20,20)
+# was locked. Some debug assertion must crash the server. If the bug is fixed,
+# trx 2 must just be rolled back by deadlock detector.
+--error ER_LOCK_DEADLOCK
+--reap
+
+--disconnect con_2
+
+--connection default
+--reap
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t;
+DROP TABLE t2;
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/deadlock_wait_thr_race.opt b/mysql-test/suite/innodb/t/deadlock_wait_thr_race.opt
new file mode 100644
index 00000000000..65470e63e44
--- /dev/null
+++ b/mysql-test/suite/innodb/t/deadlock_wait_thr_race.opt
@@ -0,0 +1 @@
+--innodb-force-recovery=2
diff --git a/mysql-test/suite/innodb/t/deadlock_wait_thr_race.test b/mysql-test/suite/innodb/t/deadlock_wait_thr_race.test
new file mode 100644
index 00000000000..42576f35baf
--- /dev/null
+++ b/mysql-test/suite/innodb/t/deadlock_wait_thr_race.test
@@ -0,0 +1,71 @@
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source include/count_sessions.inc
+
+# Purge can cause deadlock in the test, requesting page's RW_X_LATCH for trx
+# ids reseting, after trx 2 acqured RW_S_LATCH and suspended in debug sync point
+# lock_trx_handle_wait_enter, waiting for upd_cont signal, which must be
+# emitted after the last SELECT in this test. The last SELECT will hang waiting
+# for purge RW_X_LATCH releasing, and trx 2 will be rolled back by timeout.
+
+# There is deadlock_report_before_lock_releasing sync point in
+# Deadlock::report(), which is waiting for sel_cont signal under
+# lock_sys_t lock. The signal must be issued after "UPDATE t SET b = 100"
+# rollback, and that rollback is executing undo record, which is blocked on
+# dict_sys latch request. dict_sys is locked by the thread of statistics
+# update(dict_stats_save()), and during that update lock_sys lock is requested,
+# and can't be acquired as Deadlock::report() holds it. We have to disable
+# statistics update to make the test stable.
+
+CREATE TABLE t (a int PRIMARY KEY, b int) engine = InnoDB STATS_PERSISTENT=0;
+CREATE TABLE t2 (a int PRIMARY KEY) engine = InnoDB STATS_PERSISTENT=0;
+
+INSERT INTO t VALUES (10, 10), (20, 20), (30, 30);
+INSERT INTO t2 VALUES (10), (20), (30);
+
+BEGIN; # trx 1
+# The following update is necessary to increase the transaction weight, which is
+# calculated as the number of locks + the number of undo records during deadlock
+# report. Victim's transaction should have minimum weight. We need trx 2 to be
+# choosen as victim, that's why we need to increase the current transaction
+# weight.
+UPDATE t2 SET a = a + 100;
+SELECT * FROM t WHERE a = 20 FOR UPDATE;
+
+--connect(con_2,localhost,root,,)
+# RC is necessary to do semi-consistent read
+SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
+# It will be hit on trying to lock (20,20).
+SET DEBUG_SYNC = 'lock_trx_handle_wait_enter SIGNAL upd_locked WAIT_FOR upd_cont';
+SET DEBUG_SYNC = 'trx_t_release_locks_enter SIGNAL sel_cont WAIT_FOR upd_cont_2';
+BEGIN; # trx 2
+# We must not modify primary key fields to cause rr_sequential() read record
+# function choosing in mysql_update(), i.e. both query_plan.using_filesort and
+# query_plan.using_io_buffer must be false during init_read_record() call.
+# The following UPDATE will be chosen as deadlock victim and rolled back.
+--send UPDATE t SET b = 100
+
+--connection default
+SET DEBUG_SYNC="now WAIT_FOR upd_locked";
+SET DEBUG_SYNC="deadlock_report_before_lock_releasing SIGNAL upd_cont WAIT_FOR sel_cont";
+SET DEBUG_SYNC="lock_wait_before_suspend SIGNAL sel_before_suspend";
+# If the bug is not fixed, the following SELECT will crash, as the above UPDATE
+# will reset trx->lock.wait_thr during rollback
+--send SELECT * FROM t WHERE a = 10 FOR UPDATE;
+
+--connect(con_3,localhost,root,,)
+SET DEBUG_SYNC="now WAIT_FOR sel_before_suspend";
+SET DEBUG_SYNC="now SIGNAL upd_cont_2";
+--disconnect con_3
+
+--connection con_2
+--error ER_LOCK_DEADLOCK
+--reap
+--disconnect con_2
+
+--connection default
+--reap
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t;
+DROP TABLE t2;
+--source include/wait_until_count_sessions.inc
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/dropdb_cs.test b/mysql-test/suite/innodb/t/dropdb_cs.test
new file mode 100644
index 00000000000..0053ca732be
--- /dev/null
+++ b/mysql-test/suite/innodb/t/dropdb_cs.test
@@ -0,0 +1,17 @@
+--source include/have_innodb.inc
+--source include/have_case_sensitive_file_system.inc
+
+--echo #
+--echo # MDEV-28802 DROP DATABASE in InnoDB still is case-insensitive
+--echo #
+
+SET @save_fpt=@@GLOBAL.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table=0;
+CREATE DATABASE Db;
+CREATE TABLE Db.t1 (c1 INT KEY) ENGINE=InnoDB;
+CREATE DATABASE DB;
+DROP DATABASE DB;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
+DROP DATABASE Db;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
+SET GLOBAL innodb_file_per_table=@save_fpt;
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 135f8d7b024..4b047ea4d4a 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;
@@ -1010,4 +1009,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/ibuf_not_empty.test b/mysql-test/suite/innodb/t/ibuf_not_empty.test
index 207427d9ab8..9362f8daffa 100644
--- a/mysql-test/suite/innodb/t/ibuf_not_empty.test
+++ b/mysql-test/suite/innodb/t/ibuf_not_empty.test
@@ -11,6 +11,8 @@ call mtr.add_suppression("InnoDB: Failed to find tablespace for table `test`\\.`
call mtr.add_suppression("InnoDB: Allocated tablespace ID \\d+ for test.t1, old maximum was");
call mtr.add_suppression("InnoDB: Failed to find tablespace for table `mysql`\\.`transaction_registry` in the cache\\. Attempting to load the tablespace with space id");
call mtr.add_suppression("InnoDB: Allocated tablespace ID \\d+ for mysql.transaction_registry, old maximum was");
+call mtr.add_suppression("InnoDB: Trying to read 4096 bytes");
+call mtr.add_suppression("InnoDB: File './test/t1.ibd' is corrupted");
--enable_query_log
CREATE TABLE t1(
@@ -106,7 +108,7 @@ truncate(FILE, $ps * $pages);
close(FILE) || die "Unable to close $file";
EOF
---let $restart_parameters=
+--let $restart_parameters=--innodb-force_recovery=0
--source include/start_mysqld.inc
SET GLOBAL innodb_fast_shutdown=0;
--source include/restart_mysqld.inc
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..bc2ee341fe2 100644
--- a/mysql-test/suite/innodb/t/import_corrupted.test
+++ b/mysql-test/suite/innodb/t/import_corrupted.test
@@ -1,8 +1,10 @@
--source include/have_innodb.inc
+--source include/no_valgrind_without_big.inc
call mtr.add_suppression("Table `test`.`t2` should have 2 indexes but the tablespace has 1 indexes");
call mtr.add_suppression("Index for table 't2' is corrupt; try to repair it");
call mtr.add_suppression("Trying to read .* bytes at .* outside the bounds of the file: \\..test.t2\\.ibd");
+call mtr.add_suppression("InnoDB: File '.*test/t2\\.ibd' is corrupted");
let MYSQLD_DATADIR = `SELECT @@datadir`;
@@ -56,13 +58,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/import_tablespace_race.test b/mysql-test/suite/innodb/t/import_tablespace_race.test
index 532c2684dde..10ffe061ed1 100644
--- a/mysql-test/suite/innodb/t/import_tablespace_race.test
+++ b/mysql-test/suite/innodb/t/import_tablespace_race.test
@@ -5,6 +5,7 @@
--echo # MDEV-29144 ER_TABLE_SCHEMA_MISMATCH or crash on DISCARD/IMPORT
--echo #
+call mtr.add_suppression("InnoDB: Unknown index id");
CREATE TABLE t (pk int PRIMARY KEY, c varchar(1024))
ENGINE=InnoDB CHARSET latin1;
INSERT INTO t SELECT seq, 'x' FROM seq_1_to_100;
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 4fcfb37301c..d0b2d2db962 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-change-buffer-recovery-master.opt b/mysql-test/suite/innodb/t/innodb-change-buffer-recovery-master.opt
deleted file mode 100644
index e5d7090c883..00000000000
--- a/mysql-test/suite/innodb/t/innodb-change-buffer-recovery-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb_buffer_pool_size=24M
diff --git a/mysql-test/suite/innodb/t/innodb-change-buffer-recovery.test b/mysql-test/suite/innodb/t/innodb-change-buffer-recovery.test
deleted file mode 100644
index 129037e783b..00000000000
--- a/mysql-test/suite/innodb/t/innodb-change-buffer-recovery.test
+++ /dev/null
@@ -1,82 +0,0 @@
---echo #
---echo # Bug#69122 - INNODB DOESN'T REDO-LOG INSERT BUFFER MERGE
---echo # OPERATION IF IT IS DONE IN-PLACE
---echo #
---source include/have_innodb.inc
-# innodb_change_buffering_debug option is debug only
---source include/have_debug.inc
-# Embedded server does not support crashing
---source include/not_embedded.inc
-# DBUG_SUICIDE() hangs under valgrind
---source include/not_valgrind.inc
-# This test is slow on buildbot.
---source include/big_test.inc
---source include/have_sequence.inc
-
-call mtr.add_suppression("InnoDB: innodb_read_only prevents crash recovery");
-call mtr.add_suppression("Plugin initialization aborted at srv0start\\.cc");
-call mtr.add_suppression("Plugin 'InnoDB'");
-FLUSH TABLES;
-
-CREATE TABLE t1(
- a INT AUTO_INCREMENT PRIMARY KEY,
- b CHAR(1),
- c INT,
- INDEX(b))
-ENGINE=InnoDB STATS_PERSISTENT=0;
-
---let $_server_id= `SELECT @@server_id`
---let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
-
-# The flag innodb_change_buffering_debug is only available in debug builds.
-# It instructs InnoDB to try to evict pages from the buffer pool when
-# change buffering is possible, so that the change buffer will be used
-# whenever possible.
-SET GLOBAL innodb_change_buffering_debug = 1;
-SET GLOBAL innodb_change_buffering = all;
-let SEARCH_FILE = $MYSQLTEST_VARDIR/log/mysqld.1.err;
-
-# Create enough rows for the table, so that the change buffer will be
-# used for modifying the secondary index page. There must be multiple
-# index pages, because changes to the root page are never buffered.
-INSERT INTO t1 SELECT 0,'x',1 FROM seq_1_to_8192;
-
-BEGIN;
-SELECT b FROM t1 LIMIT 3;
-
-connect (con1,localhost,root,,);
-BEGIN;
-DELETE FROM t1 WHERE a=1;
-# This should be buffered, if innodb_change_buffering_debug = 1 is in effect.
-INSERT INTO t1 VALUES(1,'X',1);
-
-SET DEBUG_DBUG='+d,crash_after_log_ibuf_upd_inplace';
---exec echo "wait" > $_expect_file_name
---error 2013
-# This should force a change buffer merge
-SELECT b FROM t1 LIMIT 3;
-disconnect con1;
-connection default;
-let SEARCH_PATTERN=Wrote log record for ibuf update in place operation;
---source include/search_pattern_in_file.inc
-
---let $restart_parameters= --innodb-read-only
---source include/start_mysqld.inc
-CHECK TABLE t1;
---source include/shutdown_mysqld.inc
-let SEARCH_PATTERN=innodb_read_only prevents crash recovery;
---source include/search_pattern_in_file.inc
-
---let $restart_parameters= --innodb-force-recovery=5
---source include/start_mysqld.inc
-SELECT * FROM t1 LIMIT 1;
-replace_regex /.*operations:.* (insert.*), delete \d.*discarded .*/\1/;
-SHOW ENGINE INNODB STATUS;
-# Slow shutdown will not merge the changes due to innodb_force_recovery=5.
-SET GLOBAL innodb_fast_shutdown=0;
---let $restart_parameters=
---source include/restart_mysqld.inc
-CHECK TABLE t1;
-replace_regex /.*operations:.* insert [1-9][0-9]*, delete mark [1-9][0-9]*, delete \d.*discarded .*//;
-SHOW ENGINE INNODB STATUS;
-DROP TABLE t1;
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-fkcheck.test b/mysql-test/suite/innodb/t/innodb-fkcheck.test
index 4657edc4d65..5ff3533fce1 100644
--- a/mysql-test/suite/innodb/t/innodb-fkcheck.test
+++ b/mysql-test/suite/innodb/t/innodb-fkcheck.test
@@ -46,7 +46,15 @@ show create table c;
#
# Note that column b has different type in parent table
#
---error 1005
+CREATE TABLE b (
+ b bigint unsigned NOT NULL,
+ d1 date NOT NULL,
+ PRIMARY KEY (b,d1)
+) ENGINE=InnoDB;
+DROP TABLE b;
+
+set foreign_key_checks = 1;
+--error ER_CANT_CREATE_TABLE
CREATE TABLE b (
b bigint unsigned NOT NULL,
d1 date NOT NULL,
@@ -54,6 +62,7 @@ CREATE TABLE b (
) ENGINE=InnoDB;
show warnings;
+set foreign_key_checks = 0;
DROP TABLE IF EXISTS d;
@@ -64,7 +73,7 @@ CREATE TABLE d (
CONSTRAINT bd_fk FOREIGN KEY (b) REFERENCES b (b)
) ENGINE=InnoDB;
-show warnings;
+show warnings;
set foreign_key_checks = 1;
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 fc9fed71406..ab4f5a965da 100644
--- a/mysql-test/suite/innodb/t/innodb-index-online.test
+++ b/mysql-test/suite/innodb/t/innodb-index-online.test
@@ -2,6 +2,7 @@
--source include/innodb_encrypt_log.inc
--source include/have_debug.inc
--source include/have_debug_sync.inc
+--source include/no_valgrind_without_big.inc
let $innodb_metrics_select=
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
@@ -28,7 +29,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 +99,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 +123,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 +239,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.
@@ -324,17 +319,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;
@@ -430,7 +424,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;
@@ -479,7 +472,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';
@@ -489,11 +481,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 a89073db4f7..bfaabf24bd2 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;
@@ -101,7 +101,6 @@ 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';
@@ -111,7 +110,7 @@ connection con1;
# error on the (4,7,2).
--error ER_DUP_ENTRY
reap;
-
+DELETE FROM t1 WHERE c1=4 and c2=7;
connection default;
ROLLBACK;
@@ -195,27 +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.
+# 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.
@@ -280,11 +272,8 @@ 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';
@@ -347,16 +336,13 @@ 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';
connection con1;
---error WARN_DATA_TRUNCATED
+--error ER_INVALID_USE_OF_NULL
reap;
-
-connection default;
-ROLLBACK;
-
-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';
@@ -391,10 +377,31 @@ ALTER TABLE t1 DISCARD TABLESPACE;
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;
+
+connection default;
+SELECT * FROM t1;
+DROP TABLE t1;
+SET DEBUG_SYNC = 'RESET';
+
--echo #
--echo # MDEV-29600 Memory leak in row_log_table_apply_update()
--echo #
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..76c7346b521 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,9 @@ 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");
+call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*ibdata1' page");
+call mtr.add_suppression("InnoDB: File '.*ibdata1' is corrupted");
FLUSH TABLES;
let MYSQLD_DATADIR =`SELECT @@datadir`;
@@ -1015,6 +1017,7 @@ do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
ib_restore_tablespaces("test", "t1");
EOF
+ALTER TABLE t1 IMPORT TABLESPACE;
DROP TABLE t1;
#
@@ -1172,20 +1175,29 @@ ALTER TABLE t1 DISCARD TABLESPACE;
SELECT COUNT(*) FROM t1;
# Restore files
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+
perl;
do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
ib_restore_tablespaces("test", "t1");
+my $page;
+my $ps = $ENV{INNODB_PAGE_SIZE};
+my $file = "$ENV{MYSQLD_DATADIR}/test/t1.ibd";
+open(FILE, "+<$file") || die "Unable to open $file";
+binmode FILE;
+sysseek(FILE, 3*$ps, 0) || die "Unable to seek $file\n";
+die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
+substr($page,24,2)='42';
+sysseek(FILE, 3*$ps, 0) || die "Unable to rewind $file\n";
+syswrite(FILE, $page, $ps)==$ps || die "Unable to write $file\n";
+close(FILE) || die "Unable to close $file";
EOF
-SET SESSION debug_dbug="+d,buf_page_import_corrupt_failure";
-
--replace_regex /'.*t1.cfg'/'t1.cfg'/
---error ER_INTERNAL_ERROR
+--error ER_NOT_KEYFILE
ALTER TABLE t1 IMPORT TABLESPACE;
-SET SESSION debug_dbug=@saved_debug_dbug;
-
DROP TABLE t1;
perl;
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-wl5980-debug.test b/mysql-test/suite/innodb/t/innodb-wl5980-debug.test
deleted file mode 100644
index dbb8ad33676..00000000000
--- a/mysql-test/suite/innodb/t/innodb-wl5980-debug.test
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# This testcase is to check the various debug injection points
-# to make sure error conditions react corectly and acheive
-# better code coverage.
-#
-
-# Not supported in embedded
---source include/not_embedded.inc
---source include/have_debug.inc
---source include/have_innodb.inc
---source include/have_symlink.inc
-
-# These messages are expected in the log
-call mtr.add_suppression("Cannot find space id [0-9]+ in the tablespace memory cache");
-call mtr.add_suppression("Cannot rename table 'test/t1' to 'test/t2' since the dictionary cache already contains 'test/t2'.");
-
-# Set up some variables
-LET $MYSQL_DATA_DIR = `select @@datadir`;
-LET $data_directory_clause = DATA DIRECTORY='$MYSQL_TMP_DIR/alt_dir';
---enable_query_log
-
---echo #
---echo # WL5980 Remote tablespace debug error injection tests.
---echo #
-
---replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
-eval CREATE TABLE t1 (a int KEY, b text) ENGINE=Innodb $data_directory_clause ;
-INSERT INTO t1 VALUES (1, 'tablespace');
-SELECT * FROM t1;
-
---echo #
---echo # Test the second injection point in fil_rename_tablespace().
---echo # Make sure the table is useable after this failure.
---echo #
-SET @save_dbug=@@debug_dbug;
-SET debug_dbug="+d,fil_rename_tablespace_failure_2";
---disable_result_log
---error ER_ERROR_ON_RENAME
-RENAME TABLE t1 TO t2;
---enable_result_log
-SET debug_dbug=@save_dbug;
-INSERT INTO t1 VALUES (2, 'tablespace');
-SELECT * FROM t1;
-
---echo #
---echo # Cleanup
---echo #
-
-DROP TABLE t1;
-
---rmdir $MYSQL_TMP_DIR/alt_dir/test
---rmdir $MYSQL_TMP_DIR/alt_dir
diff --git a/mysql-test/suite/innodb/t/innodb.test b/mysql-test/suite/innodb/t/innodb.test
index 090c9b2b034..3b3b2770df7 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;
@@ -1598,12 +1598,22 @@ disconnect b;
set foreign_key_checks=0;
create table t2 (a int primary key, b int, foreign key (b) references t1(a)) engine = innodb;
+create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
+set foreign_key_checks=1;
+--error ER_NO_REFERENCED_ROW_2
+insert into t2 values (1,1);
+set foreign_key_checks=0;
+drop table t1;
+set foreign_key_checks=1;
+--error ER_NO_REFERENCED_ROW_2
+insert into t2 values (1,1);
# Embedded server doesn't chdir to data directory
--replace_result $MYSQLTEST_VARDIR . master-data/ ''
--error ER_CANT_CREATE_TABLE
create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
-set foreign_key_checks=1;
drop table t2;
+create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
+drop table t1;
# test that FKs between different charsets are not accepted in CREATE even
# when f_k_c is 0
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_bug14147491.test b/mysql-test/suite/innodb/t/innodb_bug14147491.test
index c6e4f01a642..3c37f1b7cce 100644
--- a/mysql-test/suite/innodb/t/innodb_bug14147491.test
+++ b/mysql-test/suite/innodb/t/innodb_bug14147491.test
@@ -12,6 +12,7 @@ call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted\\. Please dro
call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*test.t1\\.ibd' page");
call mtr.add_suppression("InnoDB: We detected index corruption in an InnoDB type table");
call mtr.add_suppression("Index for table 't1' is corrupt; try to repair it");
+call mtr.add_suppression("InnoDB: File '.*test/t1\\.ibd' is corrupted");
--enable_query_log
--echo # Ensure that purge will not crash on the table after we corrupt it.
@@ -70,13 +71,13 @@ EOF
--echo # Now t1 is corrupted but we should not crash
---error 1030,1712,1932
+--error ER_GET_ERRNO,ER_NOT_KEYFILE,ER_INDEX_CORRUPT,ER_NO_SUCH_TABLE_IN_ENGINE
SELECT * FROM t1;
---error 126,1030,1034,1712,1932
+--error 126,ER_GET_ERRNO,ER_NOT_KEYFILE,ER_INDEX_CORRUPT,ER_NO_SUCH_TABLE_IN_ENGINE
INSERT INTO t1(b) VALUES('abcdef');
---error 1030,1712,1932
+--error ER_GET_ERRNO,ER_NOT_KEYFILE,ER_INDEX_CORRUPT,ER_NO_SUCH_TABLE_IN_ENGINE
UPDATE t1 set b = 'deadbeef' where a = 1;
--echo # Cleanup, this must be possible
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_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_scrub.test b/mysql-test/suite/innodb/t/innodb_scrub.test
index 88b4e9cfd76..8fe460da4d3 100644
--- a/mysql-test/suite/innodb/t/innodb_scrub.test
+++ b/mysql-test/suite/innodb/t/innodb_scrub.test
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
+-- source include/no_valgrind_without_big.inc
let $MYSQLD_DATADIR=`select @@datadir`;
CREATE TABLE t1(f1 int auto_increment primary key,
@@ -26,3 +27,19 @@ FLUSH TABLE t1 FOR EXPORT;
UNLOCK TABLES;
-- source include/search_pattern_in_file.inc
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-30527 Assertion !m_freed_pages in mtr_t::start()
+--echo # on DROP TEMPORARY TABLE
+--echo #
+SET @scrub= @@GLOBAL.innodb_immediate_scrub_data_uncompressed;
+SET GLOBAL innodb_immediate_scrub_data_uncompressed= 1;
+SET @fpt=@@GLOBAL.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table=0;
+CREATE TABLE t ENGINE=InnoDB AS SELECT 1;
+DROP TABLE t;
+SET GLOBAL innodb_file_per_table=@fpt;
+CREATE TEMPORARY TABLE tmp ENGINE=InnoDB AS SELECT 1;
+DROP TABLE tmp;
+SET GLOBAL INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED= @scrub;
+--echo # End of 10.6 tests
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 29ff3f69ed7..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,5014
- show status;
-
- --error 0,ER_SERVER_SHUTDOWN,ER_CONNECTION_KILLED,2002,2006,2013,5014
- 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/innodb_wl6326.opt b/mysql-test/suite/innodb/t/innodb_wl6326.opt
deleted file mode 100644
index 99bf0e5a28b..00000000000
--- a/mysql-test/suite/innodb/t/innodb_wl6326.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb-sys-tablestats
diff --git a/mysql-test/suite/innodb/t/innodb_wl6326.test b/mysql-test/suite/innodb/t/innodb_wl6326.test
deleted file mode 100644
index 1cf98cd1c7b..00000000000
--- a/mysql-test/suite/innodb/t/innodb_wl6326.test
+++ /dev/null
@@ -1,519 +0,0 @@
-#
-# WL#6326: InnoDB: fix index->lock contention
-#
-
---source include/have_innodb.inc
---source include/have_debug.inc
---source include/have_debug_sync.inc
---source include/have_innodb_16k.inc
-
---disable_query_log
-SET @old_innodb_limit_optimistic_insert_debug = @@innodb_limit_optimistic_insert_debug;
-SET @old_innodb_adaptive_hash_index = @@innodb_adaptive_hash_index;
-SET @old_innodb_stats_persistent = @@innodb_stats_persistent;
---enable_query_log
-
-# Save the initial number of concurrent sessions
---source include/count_sessions.inc
-
-SET GLOBAL innodb_adaptive_hash_index = false;
-SET GLOBAL innodb_stats_persistent = false;
-
---connect (con1,localhost,root,,)
---connect (con2,localhost,root,,)
---connect (con3,localhost,root,,)
-
-CREATE TABLE t1 (
- a00 CHAR(255) NOT NULL DEFAULT 'a',
- a01 CHAR(255) NOT NULL DEFAULT 'a',
- a02 CHAR(255) NOT NULL DEFAULT 'a',
- a03 CHAR(255) NOT NULL DEFAULT 'a',
- a04 CHAR(255) NOT NULL DEFAULT 'a',
- a05 CHAR(255) NOT NULL DEFAULT 'a',
- a06 CHAR(255) NOT NULL DEFAULT 'a',
- b INT NOT NULL DEFAULT 0
-) ENGINE = InnoDB;
-
-ALTER TABLE t1 ADD PRIMARY KEY(
- a00,
- a01,
- a02,
- a03,
- a04,
- a05,
- a06
-);
-
-#
-# Prepare primary key index tree to be used for this test.
-#
-
-# Only root (1)
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-# Make the first records sparse artificially,
-# not to cause modify_tree by single node_ptr insert operation.
-# * (7 - 2) records should be larger than a half of the page size
-# * (7 + 2) records should be fit to the page
-# (above t1 definition is already adjusted)
-SET GLOBAL innodb_limit_optimistic_insert_debug = 7;
-
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('aa');
-INSERT INTO t1 (a00) VALUES ('ab');
-INSERT INTO t1 (a00) VALUES ('ac');
-INSERT INTO t1 (a00) VALUES ('ad');
-INSERT INTO t1 (a00) VALUES ('ae');
-INSERT INTO t1 (a00) VALUES ('af');
-INSERT INTO t1 (a00) VALUES ('ag');
-INSERT INTO t1 (a00) VALUES ('ah');
-COMMIT;
-# Raise root (1-2)
-# (aa,ad)
-# (aa,ab,ac)(ad,ae,af,ag,ah)
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('ai');
-INSERT INTO t1 (a00) VALUES ('aj');
-INSERT INTO t1 (a00) VALUES ('ak');
-COMMIT;
-# Split leaf (1-3)
-# (aa,ad,ak)
-# (aa,ab,ac)(ad,ae,af,ag,ah,ai,aj)(ak)
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('al');
-INSERT INTO t1 (a00) VALUES ('am');
-INSERT INTO t1 (a00) VALUES ('an');
-INSERT INTO t1 (a00) VALUES ('ao');
-INSERT INTO t1 (a00) VALUES ('ap');
-INSERT INTO t1 (a00) VALUES ('aq');
-INSERT INTO t1 (a00) VALUES ('ar');
-COMMIT;
-# Split leaf (1-4)
-# (aa,ad,ak,ar)
-# (aa,ab,ac)(ad,ae,af,ag,ah,ai,aj)(ak,al,am,an,ao,ap,aq)(ar)
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('as');
-INSERT INTO t1 (a00) VALUES ('at');
-INSERT INTO t1 (a00) VALUES ('au');
-INSERT INTO t1 (a00) VALUES ('av');
-INSERT INTO t1 (a00) VALUES ('aw');
-INSERT INTO t1 (a00) VALUES ('ax');
-INSERT INTO t1 (a00) VALUES ('ay');
-COMMIT;
-# Split leaf (1-5)
-# (aa,ad,ak,ar,ay)
-# (aa,ab,ac)(ad,ae,af,ag,ah,ai,aj)(ak,al,am,an,ao,ap,aq)(ar,as,at,au,av,aw,ax)(ay)
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('az');
-INSERT INTO t1 (a00) VALUES ('ba');
-INSERT INTO t1 (a00) VALUES ('bb');
-INSERT INTO t1 (a00) VALUES ('bc');
-INSERT INTO t1 (a00) VALUES ('bd');
-INSERT INTO t1 (a00) VALUES ('be');
-INSERT INTO t1 (a00) VALUES ('bf');
-COMMIT;
-# Split leaf (1-6)
-# (aa,ad,ak,ar,ay,bf)
-# (aa,ab,ac)(ad..)(ak..)(ar,as,at,au,av,aw,ax)(ay,az,ba,bb,bc,bd,be)(bf)
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('bg');
-INSERT INTO t1 (a00) VALUES ('bh');
-INSERT INTO t1 (a00) VALUES ('bi');
-INSERT INTO t1 (a00) VALUES ('bj');
-INSERT INTO t1 (a00) VALUES ('bk');
-INSERT INTO t1 (a00) VALUES ('bl');
-INSERT INTO t1 (a00) VALUES ('bm');
-COMMIT;
-# Split leaf (1-7)
-# (aa,ad,ak,ar,ay,bf,bm)
-# (aa,ab,ac)(ad..)(ak..)(ar..)(ay,az,ba,bb,bc,bd,be)(bf,bg,bh,bi,bj,bk,bl)(bm)
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('bn');
-INSERT INTO t1 (a00) VALUES ('bo');
-INSERT INTO t1 (a00) VALUES ('bp');
-INSERT INTO t1 (a00) VALUES ('bq');
-INSERT INTO t1 (a00) VALUES ('br');
-INSERT INTO t1 (a00) VALUES ('bs');
-INSERT INTO t1 (a00) VALUES ('bt');
-COMMIT;
-# Raise root (1-2-8)
-# (aa,ar)
-# (aa,ad,ak) (ar,ay,bf,bm,bt)
-# (aa,ab,ac)(ad..)(ak..)(ar..)(ay..)(bf..)(bm..)(bt)
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('bu');
-INSERT INTO t1 (a00) VALUES ('bv');
-INSERT INTO t1 (a00) VALUES ('bw');
-INSERT INTO t1 (a00) VALUES ('bx');
-INSERT INTO t1 (a00) VALUES ('by');
-INSERT INTO t1 (a00) VALUES ('bz');
-INSERT INTO t1 (a00) VALUES ('ca');
-
-INSERT INTO t1 (a00) VALUES ('cb');
-INSERT INTO t1 (a00) VALUES ('cc');
-INSERT INTO t1 (a00) VALUES ('cd');
-INSERT INTO t1 (a00) VALUES ('ce');
-INSERT INTO t1 (a00) VALUES ('cf');
-INSERT INTO t1 (a00) VALUES ('cg');
-INSERT INTO t1 (a00) VALUES ('ch');
-
-INSERT INTO t1 (a00) VALUES ('ci');
-INSERT INTO t1 (a00) VALUES ('cj');
-INSERT INTO t1 (a00) VALUES ('ck');
-INSERT INTO t1 (a00) VALUES ('cl');
-INSERT INTO t1 (a00) VALUES ('cm');
-INSERT INTO t1 (a00) VALUES ('cn');
-INSERT INTO t1 (a00) VALUES ('co');
-COMMIT;
-# Split also at level 1 (1-3-11)
-# (aa,ar,co)
-# (aa,ad,ak) (ar,ay,bf,bm,bt,ca,ch) (co)
-# (aa,ab,ac)(ad..)(ak..)(ar..)(ay..)(bf..)(bm..)(bt..)(ca..)(ch..)(co)
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('cp');
-INSERT INTO t1 (a00) VALUES ('cq');
-INSERT INTO t1 (a00) VALUES ('cr');
-INSERT INTO t1 (a00) VALUES ('cs');
-INSERT INTO t1 (a00) VALUES ('ct');
-INSERT INTO t1 (a00) VALUES ('cu');
-INSERT INTO t1 (a00) VALUES ('cv');
-
-INSERT INTO t1 (a00) VALUES ('cw');
-INSERT INTO t1 (a00) VALUES ('cx');
-INSERT INTO t1 (a00) VALUES ('cy');
-INSERT INTO t1 (a00) VALUES ('cz');
-INSERT INTO t1 (a00) VALUES ('da');
-INSERT INTO t1 (a00) VALUES ('db');
-INSERT INTO t1 (a00) VALUES ('dc');
-
-INSERT INTO t1 (a00) VALUES ('dd');
-INSERT INTO t1 (a00) VALUES ('de');
-INSERT INTO t1 (a00) VALUES ('df');
-INSERT INTO t1 (a00) VALUES ('dg');
-INSERT INTO t1 (a00) VALUES ('dh');
-INSERT INTO t1 (a00) VALUES ('di');
-INSERT INTO t1 (a00) VALUES ('dj');
-
-INSERT INTO t1 (a00) VALUES ('dk');
-INSERT INTO t1 (a00) VALUES ('dl');
-INSERT INTO t1 (a00) VALUES ('dm');
-INSERT INTO t1 (a00) VALUES ('dn');
-INSERT INTO t1 (a00) VALUES ('do');
-INSERT INTO t1 (a00) VALUES ('dp');
-INSERT INTO t1 (a00) VALUES ('dq');
-
-INSERT INTO t1 (a00) VALUES ('dr');
-INSERT INTO t1 (a00) VALUES ('ds');
-INSERT INTO t1 (a00) VALUES ('dt');
-INSERT INTO t1 (a00) VALUES ('du');
-INSERT INTO t1 (a00) VALUES ('dv');
-INSERT INTO t1 (a00) VALUES ('dw');
-INSERT INTO t1 (a00) VALUES ('dx');
-
-INSERT INTO t1 (a00) VALUES ('dy');
-INSERT INTO t1 (a00) VALUES ('dz');
-INSERT INTO t1 (a00) VALUES ('ea');
-INSERT INTO t1 (a00) VALUES ('eb');
-INSERT INTO t1 (a00) VALUES ('ec');
-INSERT INTO t1 (a00) VALUES ('ed');
-INSERT INTO t1 (a00) VALUES ('ee');
-
-INSERT INTO t1 (a00) VALUES ('ef');
-INSERT INTO t1 (a00) VALUES ('eg');
-INSERT INTO t1 (a00) VALUES ('eh');
-INSERT INTO t1 (a00) VALUES ('ei');
-INSERT INTO t1 (a00) VALUES ('ej');
-INSERT INTO t1 (a00) VALUES ('ek');
-INSERT INTO t1 (a00) VALUES ('el');
-COMMIT;
-# Split also at level 1 (1-4-18)
-# (aa,ar,co,el)
-# (aa,ad,ak) (ar,ay,bf,bm,bt,ca,ch) (co,cv,dc,dj,dq,dx,ee) (el)
-# (aa,ab,ac)(ad..)(ak..)(ar..)(ay..)(bf..)(bm..)(bt..)(ca..)(ch..)(co..)(cv..)(dc..)(dj..)(dq..)(dx..)(ee..)(el)
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-BEGIN;
-INSERT INTO t1 (a00) VALUES ('em');
-INSERT INTO t1 (a00) VALUES ('en');
-INSERT INTO t1 (a00) VALUES ('eo');
-INSERT INTO t1 (a00) VALUES ('ep');
-INSERT INTO t1 (a00) VALUES ('eq');
-INSERT INTO t1 (a00) VALUES ('er');
-INSERT INTO t1 (a00) VALUES ('es');
-
-INSERT INTO t1 (a00) VALUES ('et');
-INSERT INTO t1 (a00) VALUES ('eu');
-INSERT INTO t1 (a00) VALUES ('ev');
-INSERT INTO t1 (a00) VALUES ('ew');
-INSERT INTO t1 (a00) VALUES ('ex');
-INSERT INTO t1 (a00) VALUES ('ey');
-INSERT INTO t1 (a00) VALUES ('ez');
-
-INSERT INTO t1 (a00) VALUES ('fa');
-INSERT INTO t1 (a00) VALUES ('fb');
-INSERT INTO t1 (a00) VALUES ('fc');
-INSERT INTO t1 (a00) VALUES ('fd');
-INSERT INTO t1 (a00) VALUES ('fe');
-INSERT INTO t1 (a00) VALUES ('ff');
-INSERT INTO t1 (a00) VALUES ('fg');
-
-INSERT INTO t1 (a00) VALUES ('fh');
-INSERT INTO t1 (a00) VALUES ('fi');
-INSERT INTO t1 (a00) VALUES ('fj');
-INSERT INTO t1 (a00) VALUES ('fk');
-INSERT INTO t1 (a00) VALUES ('fl');
-INSERT INTO t1 (a00) VALUES ('fm');
-INSERT INTO t1 (a00) VALUES ('fn');
-
-INSERT INTO t1 (a00) VALUES ('fo');
-INSERT INTO t1 (a00) VALUES ('fp');
-INSERT INTO t1 (a00) VALUES ('fq');
-INSERT INTO t1 (a00) VALUES ('fr');
-INSERT INTO t1 (a00) VALUES ('fs');
-INSERT INTO t1 (a00) VALUES ('ft');
-INSERT INTO t1 (a00) VALUES ('fu');
-
-INSERT INTO t1 (a00) VALUES ('fv');
-INSERT INTO t1 (a00) VALUES ('fw');
-INSERT INTO t1 (a00) VALUES ('fx');
-INSERT INTO t1 (a00) VALUES ('fy');
-INSERT INTO t1 (a00) VALUES ('fz');
-INSERT INTO t1 (a00) VALUES ('ga');
-INSERT INTO t1 (a00) VALUES ('gb');
-
-INSERT INTO t1 (a00) VALUES ('gc');
-INSERT INTO t1 (a00) VALUES ('gd');
-INSERT INTO t1 (a00) VALUES ('ge');
-INSERT INTO t1 (a00) VALUES ('gf');
-INSERT INTO t1 (a00) VALUES ('gg');
-INSERT INTO t1 (a00) VALUES ('gh');
-COMMIT;
-
-# Current tree form (1-4-24)
-# (aa,ar,co,el)
-# (aa,ad,ak) (ar,ay,bf,bm,bt,ca,ch) (co,cv,dc,dj,dq,dx,ee) (el..,gb)
-# (aa,ab,ac)(ad..)(ak..)(ar..)(ay..)(bf..)(bm..)(bt..)(ca..)(ch..)(co..)(cv..)(dc..)(dj..)(dq..)(dx..)(ee..)(el..)..(gb..)
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-# Insert the rest of records normally
-SET GLOBAL innodb_limit_optimistic_insert_debug = 0;
-
---echo # Test start
-
-# (1) Insert records to leaf page (bf..) and cause modify_page.
-# - root page is not X latched
-# - latched from level 1 page (ar,ay,bf,bm,bt,ca,ch)
-
-SET DEBUG_SYNC = 'RESET';
-
-# Filling leaf page (bf..)
-INSERT INTO t1 (a00) VALUES ('bfa');
-
---connection con1
-SET DEBUG_SYNC = 'before_insert_pessimitic_row_ins_clust SIGNAL reached WAIT_FOR continue';
-# Cause modify_tree
---send
-INSERT INTO t1 (a00) VALUES ('bfb');
-
---connection con2
-SET DEBUG_SYNC = 'now WAIT_FOR reached';
-# Not blocked searches
-SELECT a00,a01 FROM t1 WHERE a00 = 'aa';
-SELECT a00,a01 FROM t1 WHERE a00 = 'aq';
-# "where a00 = 'co'" is blocked because searching from smaller ('co','a','a',..).
-SELECT a00,a01 FROM t1 WHERE a00 = 'cp';
-SELECT a00,a01 FROM t1 WHERE a00 = 'el';
-
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait1';
-# Blocked
---send
-SELECT a00,a01 FROM t1 WHERE a00 = 'ar';
-
---connection con3
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait2';
-# Blocked
---send
-SELECT a00,a01 FROM t1 WHERE a00 = 'cn';
-
---connection default
-# FIXME: These occasionally time out!
---disable_warnings
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait1 TIMEOUT 1';
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait2 TIMEOUT 1';
---enable_warnings
-SET DEBUG_SYNC = 'now SIGNAL continue';
-
---connection con1
---reap
-
---connection con2
---reap
-
---connection con3
---reap
-
---connection default
-
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-
-
-# (2) Insert records to leaf page (co..) and cause modify_page
-# - root page is X latched, because node_ptr for 'co'
-# is 1st record for (co,cv,dc,dj,dq,dx,ee)
-#
-# * ordinary pessimitic insert might be done by pessistic update
-# and we should consider possibility node_ptr to be deleted.
-
-SET DEBUG_SYNC = 'RESET';
-
-# Filling leaf page (co..)
-INSERT INTO t1 (a00) VALUES ('coa');
-
---connection con1
-SET DEBUG_SYNC = 'before_insert_pessimitic_row_ins_clust SIGNAL reached WAIT_FOR continue';
-# Cause modify_tree
---send
-INSERT INTO t1 (a00) VALUES ('cob');
-
---connection con2
-SET DEBUG_SYNC = 'now WAIT_FOR reached';
-# All searches are blocked because root page is X latched
-
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait1';
-# Blocked
---send
-SELECT a00,a01 FROM t1 WHERE a00 = 'aa';
-
---connection con3
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait2';
-# Blocked
---send
-SELECT a00,a01 FROM t1 WHERE a00 = 'el';
-
---connection default
-# FIXME: These occasionally time out!
---disable_warnings
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait1 TIMEOUT 1';
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait2 TIMEOUT 1';
---enable_warnings
-SET DEBUG_SYNC = 'now SIGNAL continue';
-
---connection con1
---reap
-
---connection con2
---reap
-
---connection con3
---reap
-
---connection default
-
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-
-
-# (3) Insert records to rightmost leaf page (gb..) and cause modify_page
-# - root page is not X latched, because node_ptr for 'gb' is the last record
-# of the level 1 though it is last record in the page.
-# - lathed from level 1 page (el..,gb)
-
-SET DEBUG_SYNC = 'RESET';
-
-# Filling leaf page (gb..)
-INSERT INTO t1 (a00) VALUES ('gba');
-
---connection con1
-SET DEBUG_SYNC = 'before_insert_pessimitic_row_ins_clust SIGNAL reached WAIT_FOR continue';
-# Cause modify_tree
---send
-INSERT INTO t1 (a00) VALUES ('gbb');
-
---connection con2
-SET DEBUG_SYNC = 'now WAIT_FOR reached';
-# Not blocked searches
-SELECT a00,a01 FROM t1 WHERE a00 = 'aa';
-SELECT a00,a01 FROM t1 WHERE a00 = 'ek';
-
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait1';
-# Blocked
---send
-SELECT a00,a01 FROM t1 WHERE a00 = 'el';
-
---connection con3
-SET DEBUG_SYNC = 'rw_s_lock_waiting SIGNAL lockwait2';
-# Blocked
---send
-SELECT a00,a01 FROM t1 WHERE a00 = 'gb';
-
---connection default
-# FIXME: These occasionally time out!
---disable_warnings
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait1 TIMEOUT 1';
-SET DEBUG_SYNC = 'now WAIT_FOR lockwait2 TIMEOUT 1';
---enable_warnings
-SET DEBUG_SYNC = 'now SIGNAL continue';
-
---connection con1
---reap
-
---connection con2
---reap
-
---connection con3
---reap
-
---connection default
-ANALYZE TABLE t1;
-SELECT CLUST_INDEX_SIZE FROM information_schema.INNODB_SYS_TABLESTATS WHERE NAME = 'test/t1';
-
-
-
-# Cleanup
-SET DEBUG_SYNC = 'RESET';
-
---connection default
---disconnect con1
---disconnect con2
---disconnect con3
-
-DROP TABLE t1;
-
---disable_query_log
-SET GLOBAL innodb_limit_optimistic_insert_debug = @old_innodb_limit_optimistic_insert_debug;
-SET GLOBAL innodb_adaptive_hash_index = @old_innodb_adaptive_hash_index;
-SET GLOBAL innodb_stats_persistent = @old_innodb_stats_persistent;
---enable_query_log
-
-# Wait till all disconnects are completed.
---source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/insert-before-delete.test b/mysql-test/suite/innodb/t/insert-before-delete.test
index 17a885c7bd8..2547b94e5ea 100644
--- a/mysql-test/suite/innodb/t/insert-before-delete.test
+++ b/mysql-test/suite/innodb/t/insert-before-delete.test
@@ -15,7 +15,7 @@ BEGIN; # trx 0
SELECT * FROM t WHERE sk = 100 FOR UPDATE;
--connect (con2,localhost,root)
-SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL insert_wait_started";
+SET DEBUG_SYNC="lock_wait_start SIGNAL insert_wait_started";
# trx 1 is locked on try to read the record in secondary index during duplicates
# check. It's the first in waiting queue, that's why it will be woken up firstly
# when trx 0 commits.
@@ -25,7 +25,7 @@ SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL insert_wait_started";
# MDEV-30225 is fixed only for RR
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
SET DEBUG_SYNC="now WAIT_FOR insert_wait_started";
-SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL delete_started_waiting";
+SET DEBUG_SYNC="lock_wait_start SIGNAL delete_started_waiting";
# trx 2 can delete (5, 100) on master, but not on slave, as on slave trx 1
# can insert (5, 100) after trx 2 positioned it's cursor. Trx 2 lock is placed
# in waiting queue after trx 1 lock, but its persistent cursor position was
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..010b7ecb43a
--- /dev/null
+++ b/mysql-test/suite/innodb/t/insert_into_empty.test
@@ -0,0 +1,272 @@
+--source include/have_innodb.inc
+--source include/innodb_page_size.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);
+ROLLBACK;
+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;
+
+--echo #
+--echo # MDEV-28327 InnoDB persistent statistics fail to update
+--echo # after bulk insert
+--echo #
+CREATE TABLE t1 (a INT PRIMARY KEY)ENGINE=InnoDB
+STATS_PERSISTENT=1 STATS_AUTO_RECALC=1;
+INSERT INTO t1 SELECT * FROM seq_1_to_4096;
+--echo # Wait till statistics update after bulk insert operation
+let $wait_condition= select n_rows > 100 from mysql.innodb_table_stats
+where table_name="t1";
+source include/wait_condition.inc;
+SELECT n_rows>=4096 FROM mysql.innodb_table_stats WHERE TABLE_NAME="t1";
+DROP TABLE t1;
+
+
+--echo #
+--echo # MDEV-27214 Import with disabled keys corrupts meta-data like rows, indexes, ...
+--echo #
+
+CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `a` int(11) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+STATS_PERSISTENT=1 STATS_AUTO_RECALC=1;
+INSERT INTO `t1` VALUES (1,2),(2,3),(3,4);
+--echo # Wait till statistics update after bulk insert operation
+let $wait_condition= select n_rows > 0 from mysql.innodb_table_stats
+where database_name='test' and table_name='t1';
+source include/wait_condition.inc;
+SELECT TABLE_ROWS, AVG_ROW_LENGTH>0 FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='test';
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-29975 InnoDB fails to release savepoint during bulk insert
+--echo #
+CREATE TABLE t (c INT KEY) ENGINE=InnoDB;
+begin;
+--error ER_WRONG_VALUE_COUNT_ON_ROW
+INSERT INTO t VALUES (0,0);
+SAVEPOINT a;
+--error ER_DUP_ENTRY
+INSERT INTO t VALUES (0),(0);
+SAVEPOINT a;
+commit;
+SELECT * FROM t;
+DROP TABLE t;
+
+--echo #
+--echo # MDEV-29545 InnoDB: Can't find record during replace stmt
+--echo #
+CREATE TABLE t1(c1 INT PRIMARY KEY)ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 VALUES(3331);
+
+connect(con1,localhost,root,,,);
+BEGIN;
+SELECT c1 FROM t1;
+
+connection default;
+COMMIT;
+
+connection con1;
+REPLACE INTO t1 VALUES(1984), (1984);
+COMMIT;
+connection default;
+disconnect con1;
+SELECT * FROM t1;
+DROP TABLE t1;
+--echo # End of 10.6 tests
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/insert_into_empty_notembedded.test b/mysql-test/suite/innodb/t/insert_into_empty_notembedded.test
new file mode 100644
index 00000000000..267501133ea
--- /dev/null
+++ b/mysql-test/suite/innodb/t/insert_into_empty_notembedded.test
@@ -0,0 +1,43 @@
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+--source include/innodb_page_size.inc
+--source include/maybe_debug.inc
+
+--echo #
+--echo # Start of 10.6 tests
+--echo #
+
+--echo #
+--echo # MDEV-27214 Import with disabled keys corrupts meta-data like rows, indexes, ...
+--echo #
+
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 (id int, a int,PRIMARY KEY (id)) ENGINE=InnoDB
+STATS_PERSISTENT=1 STATS_AUTO_RECALC=1;
+INSERT INTO db1.t1 VALUES (1,2),(2,3),(3,4);
+--let $file = $MYSQLTEST_VARDIR/tmp/dump.sql
+--exec $MYSQL_DUMP db1 t1 >$file
+DROP DATABASE IF EXISTS db1;
+
+CREATE DATABASE db1;
+--exec $MYSQL db1 < $file
+--remove_file $file
+--echo # Wait till statistics update after bulk insert operation
+let $wait_condition= select n_rows > 0 from mysql.innodb_table_stats
+where database_name='db1' and table_name='t1';
+source include/wait_condition.inc;
+SELECT TABLE_ROWS, AVG_ROW_LENGTH>0 FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='db1';
+
+OPTIMIZE TABLE db1.t1;
+--echo # Wait till statistics update after bulk insert operation
+let $wait_condition= select n_rows > 0 from mysql.innodb_table_stats
+where database_name='db1' and table_name='t1';
+source include/wait_condition.inc;
+SELECT TABLE_ROWS, AVG_ROW_LENGTH>0 FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='db1';
+DROP DATABASE db1;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
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 5a9c00ac2de..b9d631a9213 100644
--- a/mysql-test/suite/innodb/t/instant_alter_bugs.test
+++ b/mysql-test/suite/innodb/t/instant_alter_bugs.test
@@ -250,7 +250,10 @@ DROP TABLE t, tt;
--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,
@@ -265,6 +268,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_charset.test b/mysql-test/suite/innodb/t/instant_alter_charset.test
index f0366967ab8..5be4f7a5b83 100644
--- a/mysql-test/suite/innodb/t/instant_alter_charset.test
+++ b/mysql-test/suite/innodb/t/instant_alter_charset.test
@@ -227,18 +227,9 @@ create table key_part_bug (
a varchar(150) charset utf8mb3 unique key
) engine=innodb;
---error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
alter table key_part_bug
modify a varchar(150) charset utf8mb4,
algorithm=instant;
---error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
-alter table key_part_bug
- modify a varchar(150) charset utf8mb4,
- algorithm=nocopy;
-alter table key_part_bug
- drop index a,
- modify a varchar(150) charset utf8mb4,
- algorithm=nocopy;
drop table key_part_bug;
@@ -356,13 +347,10 @@ check table t;
alter table t modify c char(100) collate utf8mb4_general_ci, algorithm=instant;
check table t;
---error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
alter table t modify aa char(10) collate utf8mb4_general_ci, algorithm=instant;
check table t;
---error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
alter table t modify bb char(70) collate utf8mb4_general_ci, algorithm=instant;
check table t;
---error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
alter table t modify cc char(100) collate utf8mb4_general_ci, algorithm=instant;
check table t;
@@ -454,16 +442,11 @@ while ($counter <= $data_size) {
insert into tmp values ('AAA', 'AAA'), ('bbb', 'bbb');
---error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
eval alter table tmp
change a a varchar(50) charset $to_charset collate $to_collate,
modify b varchar(50) charset $to_charset collate $to_collate,
algorithm=instant;
- eval alter table tmp
- change a a varchar(50) charset $to_charset collate $to_collate,
- algorithm=instant;
-
check table tmp;
drop table tmp;
@@ -702,10 +685,7 @@ alter table t modify a char(10) collate latin1_general_cs, algorithm=inplace;
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
alter table t modify b char(10) collate latin1_general_cs, algorithm=instant;
---error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
alter table t modify b char(10) collate latin1_general_cs, algorithm=nocopy;
-alter table t modify b char(10) collate latin1_general_cs,
-drop index b_key, algorithm=nocopy;
check table t;
alter table t modify c char(10) collate latin1_general_cs, algorithm=instant;
@@ -728,10 +708,7 @@ alter table t modify a varchar(10) collate latin1_general_cs, algorithm=inplace;
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
alter table t modify b varchar(10) collate latin1_general_cs, algorithm=instant;
---error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
alter table t modify b varchar(10) collate latin1_general_cs, algorithm=nocopy;
-alter table t modify b varchar(10) collate latin1_general_cs,
-drop index b_key, algorithm=nocopy;
check table t;
alter table t modify c varchar(10) collate latin1_general_cs, algorithm=instant;
diff --git a/mysql-test/suite/innodb/t/instant_alter_crash.test b/mysql-test/suite/innodb/t/instant_alter_crash.test
index 43db8f619f3..0bd983a2b4c 100644
--- a/mysql-test/suite/innodb/t/instant_alter_crash.test
+++ b/mysql-test/suite/innodb/t/instant_alter_crash.test
@@ -47,6 +47,9 @@ ROLLBACK;
INSERT INTO t2 VALUES
(16,1551,'Omnium enim rerum'),(128,1571,' principia parva sunt');
+BEGIN;
+UPDATE t1 SET c2=c2+1;
+
connect ddl, localhost, root;
SET DEBUG_SYNC='innodb_alter_inplace_before_commit SIGNAL ddl WAIT_FOR ever';
--send
@@ -55,8 +58,7 @@ 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;
+COMMIT;
--source include/kill_mysqld.inc
disconnect ddl;
@@ -74,6 +76,8 @@ ROLLBACK;
--source include/wait_all_purged.inc
INSERT INTO t2 VALUES (64,42,'De finibus bonorum'), (347,33101,' et malorum');
+BEGIN;
+DELETE FROM t1;
connect ddl, localhost, root;
ALTER TABLE t2 DROP COLUMN c3;
@@ -84,8 +88,7 @@ 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;
+COMMIT;
--source include/kill_mysqld.inc
disconnect ddl;
@@ -179,6 +182,9 @@ DELETE FROM t2;
--echo #
--echo # MDEV-24323 Crash on recovery after kill during instant ADD COLUMN
--echo #
+BEGIN;
+INSERT INTO t1 VALUES(0,0);
+
connect ddl, localhost, root;
CREATE TABLE t3(id INT PRIMARY KEY, c2 INT, v2 INT AS(c2) VIRTUAL, UNIQUE(v2))
ENGINE=InnoDB;
@@ -191,8 +197,7 @@ 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);
+COMMIT;
--source include/kill_mysqld.inc
disconnect ddl;
@@ -201,7 +206,33 @@ disconnect ddl;
SHOW CREATE TABLE t1;
SHOW CREATE TABLE t2;
SHOW CREATE TABLE t3;
-DROP TABLE t1,t2,t3;
+DROP TABLE t2,t3;
+
+--echo #
+--echo # MDEV-29440 InnoDB instant ALTER TABLE recovery wrongly uses
+--echo # READ COMMITTED isolation level instead of READ UNCOMMITTED
+--echo #
+CREATE TABLE t2(a INT UNSIGNED PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1),(2),(3),(4),(5),(6);
+
+BEGIN;
+DELETE FROM t1;
+
+connect ddl, localhost, root;
+SET DEBUG_SYNC='innodb_alter_inplace_before_commit SIGNAL ddl WAIT_FOR ever';
+--send
+ALTER TABLE t2 ADD COLUMN b TINYINT UNSIGNED NOT NULL DEFAULT 42 FIRST;
+
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR ddl';
+SET GLOBAL innodb_flush_log_at_trx_commit=1;
+COMMIT;
+
+--source include/kill_mysqld.inc
+disconnect ddl;
+--source include/start_mysqld.inc
+
+CHECK TABLE t2;
+DROP TABLE t1,t2;
---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 3fa623d60d5..87a36186150 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..21d5336528a 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
@@ -3,13 +3,15 @@
--disable_query_log
call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*test.t1\\.ibd' page");
-call mtr.add_suppression("InnoDB: Background Page read failed to read or decrypt \\[page id: space=\\d+, page number=19\\]");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Failed to read page 19 from file '.*test.t1\\.ibd': Page read from tablespace is corrupted\\.");
+call mtr.add_suppression("InnoDB: (Unable to apply log to|Discarding log for) corrupted page .*, page number=19\\]");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Plugin initialization aborted at srv0start\\.cc.* with error Data structure corruption");
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`");
+call mtr.add_suppression("InnoDB: File '.*test/t1\\.ibd' is corrupted");
+call mtr.add_suppression("InnoDB: In page .* of index `PRIMARY` of table `test`\\.`t1`");
--enable_query_log
CREATE TABLE t1 (pk INT PRIMARY KEY, c CHAR(255))ENGINE=InnoDB STATS_PERSISTENT=0;
@@ -47,12 +49,12 @@ EOF
--error ER_UNKNOWN_STORAGE_ENGINE
SELECT * FROM t1 WHERE PK = 1;
+# Force recovery to ignore the corrupted page.
let $restart_parameters=--innodb-force-recovery=1;
--source include/restart_mysqld.inc
SELECT * FROM t1 WHERE PK = 1;
--error ER_NOT_KEYFILE
SELECT * FROM t1 WHERE pk = 12;
+CHECK TABLE t1;
DROP TABLE t1;
-let $restart_parameters=;
---source include/restart_mysqld.inc
diff --git a/mysql-test/suite/innodb/t/lock_delete_updated.test b/mysql-test/suite/innodb/t/lock_delete_updated.test
index dd1a7483f79..1f7b13144e4 100644
--- a/mysql-test/suite/innodb/t/lock_delete_updated.test
+++ b/mysql-test/suite/innodb/t/lock_delete_updated.test
@@ -10,7 +10,7 @@ BEGIN;
UPDATE t SET a = 2;
connect con1,localhost,root;
-SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL del_locked";
+SET DEBUG_SYNC="lock_wait_start SIGNAL del_locked";
send DELETE FROM t;
connection default;
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/lock_move_wait_lock_race.test b/mysql-test/suite/innodb/t/lock_move_wait_lock_race.test
new file mode 100644
index 00000000000..3a04c7127c8
--- /dev/null
+++ b/mysql-test/suite/innodb/t/lock_move_wait_lock_race.test
@@ -0,0 +1,58 @@
+--source include/have_innodb.inc
+--source include/count_sessions.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+CREATE TABLE t (pk int PRIMARY KEY, c varchar(10)) ENGINE=InnoDB;
+INSERT INTO t VALUES (10, "0123456789");
+
+--connection default
+BEGIN;
+SELECT * FROM t WHERE c = 10 FOR UPDATE;
+
+--connect(trx2, localhost,root,,)
+BEGIN;
+SET DEBUG_SYNC="lock_wait_start SIGNAL trx2_start_waiting";
+SET DEBUG_SYNC="lock_wait_end SIGNAL trx2_wait_end WAIT_FOR trx2_cont_upd";
+SET DEBUG_SYNC="lock_rec_store_on_page_infimum_end SIGNAL trx2_moved_locks WAIT_FOR trx2_cont";
+#################
+# We need to update clustered record without changing ordering fields and
+# changing the size of non-ordering fields to cause locks moving from deleted
+# record to infimum.
+###
+--send UPDATE t SET c = NULL WHERE pk = 10
+
+
+--connect(trx3, localhost,root,,)
+SET DEBUG_SYNC="now WAIT_FOR trx2_start_waiting";
+#################
+# The condition wariable waiting in lock_wait() must be finished by timeout
+###
+SET innodb_lock_wait_timeout=1;
+BEGIN;
+SET DEBUG_SYNC="lock_wait_start SIGNAL trx3_start_waiting WAIT_FOR trx3_cont_waiting";
+SET DEBUG_SYNC="lock_sys_t_cancel_enter SIGNAL trx3_cancel_enter WAIT_FOR trx3_cont_cancel_waiting";
+--send UPDATE t SET c = "abcdefghij" WHERE pk = 10
+
+--connection default
+SET DEBUG_SYNC="now WAIT_FOR trx3_start_waiting";
+COMMIT;
+SET DEBUG_SYNC="now WAIT_FOR trx2_wait_end";
+SET DEBUG_SYNC="now SIGNAL trx3_cont_waiting";
+SET DEBUG_SYNC="now WAIT_FOR trx3_cancel_enter";
+SET DEBUG_SYNC="now SIGNAL trx2_cont_upd";
+SET DEBUG_SYNC="now WAIT_FOR trx2_moved_locks";
+#################
+# If the bug is not fixed, there will be assertion failure here, because trx2
+# moved trx3 lock from deleted record to infimum when trx3 tried to cancel the
+# lock.
+###
+SET DEBUG_SYNC="now SIGNAL trx3_cont_cancel_waiting";
+SET DEBUG_SYNC="now SIGNAL trx2_cont";
+
+--disconnect trx2
+--disconnect trx3
+--connection default
+SET DEBUG_SYNC="RESET";
+DROP TABLE t;
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/log_corruption.test b/mysql-test/suite/innodb/t/log_corruption.test
index a3ab4510743..333fefee507 100644
--- a/mysql-test/suite/innodb/t/log_corruption.test
+++ b/mysql-test/suite/innodb/t/log_corruption.test
@@ -59,7 +59,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 93d1dfcfd6b..2484e787973 100644
--- a/mysql-test/suite/innodb/t/log_file.test
+++ b/mysql-test/suite/innodb/t/log_file.test
@@ -12,10 +12,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\.");
@@ -88,7 +87,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 c153c38e54b..89fe04bcdfb 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/mdev-14846.test b/mysql-test/suite/innodb/t/mdev-14846.test
index adcefecd52f..b1f32302591 100644
--- a/mysql-test/suite/innodb/t/mdev-14846.test
+++ b/mysql-test/suite/innodb/t/mdev-14846.test
@@ -35,6 +35,7 @@ SET DEBUG_SYNC='now WAIT_FOR con1_dml';
begin;
SELECT * FROM t1 for update; # Holds x lock of all records in the table t1
SET DEBUG_SYNC='now SIGNAL default_dml';
+SET DEBUG_SYNC='now SIGNAL con2_dml';
--connection default
SET DEBUG_SYNC='now WAIT_FOR default_dml';
@@ -42,7 +43,7 @@ SET DEBUG_SYNC='now WAIT_FOR default_dml';
# It holds the lock of all record in t3 and tries to acquire record lock for the table t1.
--connect (con2,localhost,root,,test)
-set debug_sync='now WAIT_FOR default_dml';
+set debug_sync='now WAIT_FOR con2_dml';
let $wait_condition=
select count(*) > 0 from information_schema.innodb_lock_waits;
--source include/wait_condition.inc
diff --git a/mysql-test/suite/innodb/t/missing_tablespaces.test b/mysql-test/suite/innodb/t/missing_tablespaces.test
index 996b77aa6c1..92f963a262d 100644
--- a/mysql-test/suite/innodb/t/missing_tablespaces.test
+++ b/mysql-test/suite/innodb/t/missing_tablespaces.test
@@ -27,7 +27,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 359d3b544a6..d6fa3f2fbc9 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..1d34738703c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/online_table_rebuild.test
@@ -0,0 +1,63 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.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..2a2c14844fa 100644
--- a/mysql-test/suite/innodb/t/page_id_innochecksum.test
+++ b/mysql-test/suite/innodb/t/page_id_innochecksum.test
@@ -54,12 +54,18 @@ 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
+let $restart_parameters=--innodb-force-recovery=1;
--source include/start_mysqld.inc
+SET GLOBAL innodb_purge_rseg_truncate_frequency=1;
+--source include/wait_all_purged.inc
drop table t1;
+call mtr.add_suppression("InnoDB: Failed to read page 3 from file '.*test/t1\\.ibd': Page read from tablespace is corrupted\\.");
+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 ac743fa7afb..d61fbd3c522 100644
--- a/mysql-test/suite/innodb/t/read_only_recover_committed.test
+++ b/mysql-test/suite/innodb/t/read_only_recover_committed.test
@@ -47,7 +47,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 32058b3abf5..4835cc997a8 100644
--- a/mysql-test/suite/innodb/t/restart.test
+++ b/mysql-test/suite/innodb/t/restart.test
@@ -22,8 +22,7 @@ call mtr.add_suppression("\\[ERROR\\] InnoDB: Restart in MySQL for migration/rec
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
@@ -52,6 +51,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 92ebdda442a..6b2e6ee3ea6 100644
--- a/mysql-test/suite/innodb/t/table_flags.test
+++ b/mysql-test/suite/innodb/t/table_flags.test
@@ -1,7 +1,6 @@
--source include/innodb_page_size.inc
# Embedded server tests do not support restarting
--source include/not_embedded.inc
---source include/maybe_debug.inc
# Slow shutdown may take more than 120 seconds under Valgrind,
# causing the server to be (silently) killed.
# Due to that, crash recovery could "heal" the damage that our
@@ -12,15 +11,14 @@
--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;
@@ -38,9 +36,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
@@ -177,9 +172,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 752243e599d..5d7e5d51696 100644
--- a/mysql-test/suite/innodb/t/temporary_table.test
+++ b/mysql-test/suite/innodb/t/temporary_table.test
@@ -185,12 +185,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;
@@ -215,7 +215,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;
@@ -348,7 +348,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
@@ -356,7 +356,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
@@ -373,7 +373,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
@@ -381,7 +381,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
@@ -389,7 +389,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
@@ -397,7 +397,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
@@ -418,15 +418,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;
@@ -454,7 +454,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;
@@ -613,3 +613,26 @@ INSERT INTO t VALUES (1);
START TRANSACTION READ ONLY;
UPDATE t SET a = NULL;
ROLLBACK;
+DROP TABLE t;
+
+--echo #
+--echo # MDEV-29886 Assertion !index->table->is_temporary() failed
+--echo # in trx_undo_prev_version_build upon CHECK
+--echo #
+CREATE TEMPORARY TABLE t (a INT, KEY(a)) ENGINE=InnoDB SELECT 1;
+UPDATE t SET a=2;
+CHECK TABLE t;
+CHECK TABLE t EXTENDED;
+DROP TEMPORARY TABLE t;
+
+--echo #
+--echo # MDEV-29978 Corruption errors upon CHECK on temporary InnoDB table
+--echo #
+
+CREATE TEMPORARY TABLE t (f INT UNIQUE) ENGINE=InnoDB;
+INSERT INTO t (f) VALUES (1),(2);
+CHECK TABLE t;
+CHECK TABLE t EXTENDED;
+DROP TEMPORARY TABLE t;
+
+--echo # End of 10.6 tests
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_crash.test b/mysql-test/suite/innodb/t/truncate_crash.test
index 5cb39c745dc..27b8feea8a4 100644
--- a/mysql-test/suite/innodb/t/truncate_crash.test
+++ b/mysql-test/suite/innodb/t/truncate_crash.test
@@ -17,7 +17,13 @@ SET DEBUG_SYNC='now WAIT_FOR c';
--source include/restart_mysqld.inc
disconnect wait;
+SET @save_frequency=@@GLOBAL.innodb_purge_rseg_truncate_frequency;
+SET GLOBAL innodb_purge_rseg_truncate_frequency=1;
+--source include/wait_all_purged.inc
+SET GLOBAL innodb_purge_rseg_truncate_frequency=@save_frequency;
+
--replace_result 2 0
SELECT COUNT(*) FROM t1;
TRUNCATE TABLE t1;
DROP TABLE t1;
+
diff --git a/mysql-test/suite/innodb/t/truncate_foreign.test b/mysql-test/suite/innodb/t/truncate_foreign.test
index 1c150e5db40..abbe1b3df87 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,33 @@ 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;
+SET FOREIGN_KEY_CHECKS=1;
+--error ER_CANNOT_ADD_FOREIGN
+TRUNCATE t1;
+# Whether TRUNCATE succeeds or fails, it will reload FOREIGN KEY constraints.
+# As a result, ha_innobase::referenced_by_foreign_key() will retun TRUE
+# (for the self-referential key), and the statement will fail.
+--error ER_TABLE_NOT_LOCKED
+INSERT INTO t1 VALUES (2,2);
+SELECT * FROM t1;
+UNLOCK TABLES;
+--error ER_NO_REFERENCED_ROW_2
+INSERT INTO t1 VALUES (2,2);
+SET FOREIGN_KEY_CHECKS=0;
+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/trx_id_future.test b/mysql-test/suite/innodb/t/trx_id_future.test
index b897800fa91..18077549cf6 100644
--- a/mysql-test/suite/innodb/t/trx_id_future.test
+++ b/mysql-test/suite/innodb/t/trx_id_future.test
@@ -57,19 +57,11 @@ syswrite(FILE, $page, $ps)==$ps || die "Unable to write $file\n";
close(FILE) || die "Unable to close $file";
EOF
-# Debug assertions would fail due to the injected corruption.
---let $restart_parameters= --loose-skip-debug-assert
--source include/start_mysqld.inc
-
-let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
-let SEARCH_PATTERN= \[Warning\] InnoDB: A transaction id in a record of table `test`\.`t1` is newer than the system-wide maximum;
---source include/search_pattern_in_file.inc
-
call mtr.add_suppression("\\[Warning\\] InnoDB: A transaction id in a record of table `test`\\.`t1` is newer than the system-wide maximum");
+call mtr.add_suppression("\\[ERROR\\] InnoDB: We detected index corruption");
+call mtr.add_suppression("Index for table 't1' is corrupt; try to repair it");
-# A debug assertion would cause a duplicated message to be output.
-SET @save_count = @@max_error_count;
-SET max_error_count = 1;
+--error ER_NOT_KEYFILE
SELECT * FROM t1;
-SET max_error_count = @save_count;
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/undo_truncate.opt b/mysql-test/suite/innodb/t/undo_truncate.opt
index 1459ec5db74..5e331e832fd 100644
--- a/mysql-test/suite/innodb/t/undo_truncate.opt
+++ b/mysql-test/suite/innodb/t/undo_truncate.opt
@@ -1,2 +1,3 @@
--innodb-buffer-pool-size=24M
--innodb-immediate-scrub-data-uncompressed=ON
+--loose-innodb-sys-tablespaces
diff --git a/mysql-test/suite/innodb/t/undo_truncate.test b/mysql-test/suite/innodb/t/undo_truncate.test
index 19829ce21e7..496eccb002e 100644
--- a/mysql-test/suite/innodb/t/undo_truncate.test
+++ b/mysql-test/suite/innodb/t/undo_truncate.test
@@ -15,6 +15,9 @@ call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operation
SET GLOBAL innodb_undo_log_truncate = 0;
SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
+LET $MYSQLD_DATADIR = `select @@datadir`;
+LET $INNODB_PAGE_SIZE = `select @@innodb_page_size`;
+--source suite/innodb/include/show_i_s_tablespaces.inc
#-----------------------------------------------------------------------------
#
# Perform DML action using multiple clients and multiple undo tablespace.
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-cascade.test b/mysql-test/suite/innodb/t/update-cascade.test
index de8294703b4..69e81ac4a2f 100644
--- a/mysql-test/suite/innodb/t/update-cascade.test
+++ b/mysql-test/suite/innodb/t/update-cascade.test
@@ -28,7 +28,7 @@ start transaction;
select f1, f2 from t2 for update;
connection default;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL upd_waiting WAIT_FOR go_upd';
+set debug_sync='lock_wait_start SIGNAL upd_waiting WAIT_FOR go_upd';
send update t1 set f1 = 10 where f1 = 2;
connection con1;
@@ -72,7 +72,7 @@ start transaction;
select f1, f2 from t2 for update;
connection default;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL upd_waiting WAIT_FOR go_upd';
+set debug_sync='lock_wait_start SIGNAL upd_waiting WAIT_FOR go_upd';
send update t1 set f2 = 28 where f2 = 91;
connection con1;
@@ -120,7 +120,7 @@ start transaction;
select f1 from t3 for update;
connection default;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL upd_waiting WAIT_FOR go_upd';
+set debug_sync='lock_wait_start SIGNAL upd_waiting WAIT_FOR go_upd';
send update t1 set f1 = 10 where f1 = 2;
connection con1;
@@ -183,7 +183,7 @@ start transaction;
select f1 from t3 for update;
connection default;
-set debug_sync='lock_wait_suspend_thread_enter SIGNAL upd_waiting WAIT_FOR go_upd';
+set debug_sync='lock_wait_start SIGNAL upd_waiting WAIT_FOR go_upd';
send update t1 set f2 = 28 where f2 = 91;
connection con1;
diff --git a/mysql-test/suite/innodb/t/xa_recovery.test b/mysql-test/suite/innodb/t/xa_recovery.test
index f0fbb1a94c3..cfb82240187 100644
--- a/mysql-test/suite/innodb/t/xa_recovery.test
+++ b/mysql-test/suite/innodb/t/xa_recovery.test
@@ -40,10 +40,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;
@@ -52,8 +52,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/concurrent_insert.result b/mysql-test/suite/innodb_fts/r/concurrent_insert.result
index e91ea02b1de..2335982816b 100644
--- a/mysql-test/suite/innodb_fts/r/concurrent_insert.result
+++ b/mysql-test/suite/innodb_fts/r/concurrent_insert.result
@@ -19,7 +19,7 @@ INSERT INTO t2 VALUES('mariadb');
connection default;
SET @saved_dbug = @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug ='+d,fts_instrument_sync_request,ib_optimize_wq_hang';
-SET DEBUG_SYNC= 'fts_instrument_sync_request
+SET DEBUG_SYNC= 'fts_sync_end
SIGNAL drop_index_start WAIT_FOR sync_op';
INSERT INTO t1 VALUES('Keyword');
connect con1,localhost,root,,,;
@@ -31,5 +31,33 @@ set DEBUG_SYNC= 'now SIGNAL fts_drop_index';
connection con1;
drop table t1, t2;
connection default;
-set DEBUG_SYNC=RESET;
SET @@GLOBAL.debug_dbug = @saved_dbug;
+disconnect con1;
+#
+# MDEV-25984 Assertion `max_doc_id > 0' failed in fts_init_doc_id()
+#
+call mtr.add_suppression("InnoDB: \\(Lock wait timeout\\) while getting next doc id for table `test`.`t1`");
+CREATE TABLE t1(f1 CHAR(100), f2 INT, fulltext(f1))ENGINE=InnoDB;
+INSERT INTO t1 VALUES("mariadb", 1), ("innodb", 1);
+# restart
+SET DEBUG_SYNC='innodb_rollback_after_fts_lock SIGNAL insert_dml WAIT_FOR ddl_continue';
+ALTER TABLE t1 ADD UNIQUE INDEX(f2);
+connect con1,localhost,root,,,;
+SET DEBUG_SYNC='now WAIT_FOR insert_dml';
+SET DEBUG_SYNC='fts_cmp_set_sync_doc_id_retry SIGNAL ddl_continue WAIT_FOR dml_finish';
+INSERT INTO t1 VALUES("index", 2);
+connection default;
+ERROR 23000: Duplicate entry '1' for key 'f2'
+SET DEBUG_SYNC="now SIGNAL dml_finish";
+connection con1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` char(100) DEFAULT NULL,
+ `f2` int(11) DEFAULT NULL,
+ FULLTEXT KEY `f1` (`f1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+connection default;
+disconnect con1;
+DROP TABLE t1;
+set DEBUG_SYNC=RESET;
diff --git a/mysql-test/suite/innodb_fts/r/crash_recovery.result b/mysql-test/suite/innodb_fts/r/crash_recovery.result
index fd00e3e8457..83e5ddaea90 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
@@ -150,3 +170,5 @@ INSERT INTO t1 VALUES ( 1255, "mariadb", "InnoDB");
# restart
ALTER TABLE t1 ADD FULLTEXT(col_text_1);
DROP TABLE t1;
+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 2de08657a6e..32dc87daa04 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/fulltext_misc.result b/mysql-test/suite/innodb_fts/r/fulltext_misc.result
index c58cf5ba62c..69812ff8b72 100644
--- a/mysql-test/suite/innodb_fts/r/fulltext_misc.result
+++ b/mysql-test/suite/innodb_fts/r/fulltext_misc.result
@@ -129,8 +129,9 @@ test
select * from t1 where a like "te_t";
a
test
-select * from t1 where match a against ("te*" in boolean mode)+0;
+select * from t1 where match a against ("te*" in boolean mode);
a
+test
drop table t1;
#
# Bug #49734: Crash on EXPLAIN EXTENDED UNION ... ORDER BY
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 8280a637b86..52cbede7314 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 COLLATE=utf8_general_ci ROW_FORMAT=COMPRESSED
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci 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 83c5066a898..b9b2350c00b 100644
--- a/mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result
@@ -118,6 +118,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 ...'),
@@ -142,25 +143,25 @@ INSERT INTO articles (title, body) VALUES
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('MySQL') ORDER BY id;
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') ORDER BY id;
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') ORDER BY id;
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') ORDER BY id;
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 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 d582dfa53ed..cdfc4ff489a 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,11 +57,20 @@ DROP TABLE t1;
# MDEV-25663 Double free of transaction during TRUNCATE
#
call mtr.add_suppression("InnoDB: \\(Too many concurrent transactions\\)");
-SET @save_dbug= @@debug_dbug;
+call mtr.add_suppression("InnoDB: Cannot save table statistics for table `test`\\.`t1`: Too many concurrent transactions");
+SET @saved_debug_dbug= @@debug_dbug;
CREATE TABLE t1 (b CHAR(12), FULLTEXT KEY(b)) engine=InnoDB;
SET debug_dbug='+d,ib_create_table_fail_too_many_trx';
TRUNCATE t1;
-Got one of the listed errors
-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: Lock wait timeout exceeded; try restarting transaction
+SET debug_dbug=@saved_debug_dbug;
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t1 ADD FULLTEXT(f2);
+ERROR HY000: Tablespace has been discarded for table `t1`
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/misc_debug2.result b/mysql-test/suite/innodb_fts/r/misc_debug2.result
index 9e22f5680c0..9601e8fc82e 100644
--- a/mysql-test/suite/innodb_fts/r/misc_debug2.result
+++ b/mysql-test/suite/innodb_fts/r/misc_debug2.result
@@ -12,12 +12,12 @@ DROP TABLE mdev21563;
CREATE TABLE t1(f1 CHAR(100), FULLTEXT idx(f1))ENGINE=InnoDB;
INSERT INTO t1 VALUES('mysql'), ('innodb');
SET @save_dbug=@@debug_dbug;
-set debug_dbug="+d,fts_instrument_sync_debug";
+set debug_dbug="+d,fts_instrument_sync_request";
INSERT INTO t1 VALUES('test');
set debug_dbug=@save_dbug;
INSERT INTO t1 VALUES('This is a fts issue');
# restart
-set debug_dbug="+d,fts_instrument_sync_debug";
+set debug_dbug="+d,fts_instrument_sync_request";
UPDATE t1 SET f1="mariadb";
set debug_dbug=@save_dbug;
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..74a5d2f13fb 100644
--- a/mysql-test/suite/innodb_fts/r/sync.result
+++ b/mysql-test/suite/innodb_fts/r/sync.result
@@ -11,19 +11,19 @@ INSERT INTO t1(title) VALUES('database');
connection con1;
SET @old_dbug = @@SESSION.debug_dbug;
SET debug_dbug = '+d,fts_instrument_sync_debug';
-SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR selected';
+SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR selected';
INSERT INTO t1(title) VALUES('mysql database');
connection default;
SET DEBUG_SYNC= 'now WAIT_FOR written';
SET GLOBAL innodb_ft_aux_table="test/t1";
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE;
WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
+SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
+WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
database 2 3 2 2 0
database 2 3 2 3 6
mysql 1 3 2 1 0
mysql 1 3 2 3 0
-SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
-WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
SET GLOBAL innodb_ft_aux_table=default;
SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
FTS_DOC_ID title
@@ -59,7 +59,7 @@ INSERT INTO t1(title) VALUES('mysql');
INSERT INTO t1(title) VALUES('database');
connection con1;
SET debug_dbug = '+d,fts_instrument_sync_debug';
-SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR inserted';
+SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR inserted';
INSERT INTO t1(title) VALUES('mysql database');
connection default;
SET DEBUG_SYNC= 'now WAIT_FOR written';
@@ -70,14 +70,14 @@ SET debug_dbug = @old_dbug;
SET GLOBAL innodb_ft_aux_table="test/t1";
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE;
WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
+database 4 4 1 4 6
+mysql 4 4 1 4 0
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
database 2 3 2 2 0
database 2 3 2 3 6
-database 4 4 1 4 6
-mysql 1 4 3 1 0
-mysql 1 4 3 3 0
-mysql 1 4 3 4 0
+mysql 1 3 2 1 0
+mysql 1 3 2 3 0
SET GLOBAL innodb_ft_aux_table=default;
SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
FTS_DOC_ID title
@@ -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/r/sync_block.result b/mysql-test/suite/innodb_fts/r/sync_block.result
deleted file mode 100644
index 65bee127e80..00000000000
--- a/mysql-test/suite/innodb_fts/r/sync_block.result
+++ /dev/null
@@ -1,83 +0,0 @@
-SET @old_log_output = @@global.log_output;
-SET @old_slow_query_log = @@global.slow_query_log;
-SET @old_general_log = @@global.general_log;
-SET @old_long_query_time = @@global.long_query_time;
-SET @old_debug = @@global.debug_dbug;
-SET GLOBAL log_output = 'TABLE';
-SET GLOBAL general_log = 1;
-SET GLOBAL slow_query_log = 1;
-SET GLOBAL long_query_time = 1;
-connect con1,localhost,root,,;
-connect con2,localhost,root,,;
-connection default;
-# Case 1: Sync blocks DML(insert) on the same table.
-CREATE TABLE t1 (
-FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
-title VARCHAR(200),
-FULLTEXT(title)
-) ENGINE = InnoDB;
-connection con1;
-SET GLOBAL debug_dbug='+d,fts_instrument_sync_debug,fts_instrument_sync_sleep';
-SET DEBUG_SYNC= 'fts_sync_begin SIGNAL begin WAIT_FOR continue';
-INSERT INTO t1(title) VALUES('mysql database');
-connection con2;
-SET DEBUG_SYNC= 'now WAIT_FOR begin';
-SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
-connection default;
-SET DEBUG_SYNC= 'now SIGNAL continue';
-connection con1;
-/* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
-connection con2;
-/* conneciton con2 */ SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
-FTS_DOC_ID title
-connection default;
-# make con1 & con2 show up in mysql.slow_log
-SELECT SLEEP(2);
-SLEEP(2)
-0
-# slow log results should only contain INSERT INTO t1.
-SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
-sql_text
-INSERT INTO t1(title) VALUES('mysql database')
-SET GLOBAL debug_dbug = @old_debug;
-TRUNCATE TABLE mysql.slow_log;
-DROP TABLE t1;
-# Case 2: Sync blocks DML(insert) on other tables.
-CREATE TABLE t1 (
-FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
-title VARCHAR(200),
-FULLTEXT(title)
-) ENGINE = InnoDB;
-CREATE TABLE t2(id INT);
-connection con1;
-SET GLOBAL debug_dbug='+d,fts_instrument_sync_request,fts_instrument_sync_sleep';
-SET DEBUG_SYNC= 'fts_instrument_sync_request SIGNAL begin WAIT_FOR continue';
-INSERT INTO t1(title) VALUES('mysql database');
-connection con2;
-SET DEBUG_SYNC= 'now WAIT_FOR begin';
-INSERT INTO t2 VALUES(1);
-connection default;
-SET DEBUG_SYNC= 'now SIGNAL continue';
-connection con1;
-/* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
-connection con2;
-/* conneciton con2 */ INSERT INTO t2 VALUES(1);
-connection default;
-SET DEBUG_SYNC = 'RESET';
-# make con1 & con2 show up in mysql.slow_log
-SELECT SLEEP(2);
-SLEEP(2)
-0
-# slow log results should be empty here.
-SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
-sql_text
-SET GLOBAL debug_dbug = @old_debug;
-TRUNCATE TABLE mysql.slow_log;
-DROP TABLE t1,t2;
-disconnect con1;
-disconnect con2;
-# Restore slow log settings.
-SET GLOBAL log_output = @old_log_output;
-SET GLOBAL general_log = @old_general_log;
-SET GLOBAL slow_query_log = @old_slow_query_log;
-SET GLOBAL long_query_time = @old_long_query_time;
diff --git a/mysql-test/suite/innodb_fts/r/versioning.result b/mysql-test/suite/innodb_fts/r/versioning.result
index 73ce8f838fd..27e23c9b2d5 100644
--- a/mysql-test/suite/innodb_fts/r/versioning.result
+++ b/mysql-test/suite/innodb_fts/r/versioning.result
@@ -291,6 +291,8 @@ drop index idx on articles2;
Warnings:
Warning 1082 InnoDB: Table test/articles2 contains 3 indexes inside InnoDB, which is different from the number of indexes 1 defined in the MariaDB
create fulltext index idx on articles2(title, body);
+Warnings:
+Warning 1088 Error updating stats for table 'articles2' after table rebuild: Persistent statistics do not exist
SELECT * FROM articles2 WHERE MATCH (title,body)
AGAINST ('the' IN NATURAL LANGUAGE MODE);
id title body
diff --git a/mysql-test/suite/innodb_fts/t/concurrent_insert.test b/mysql-test/suite/innodb_fts/t/concurrent_insert.test
index 35debd87cea..b6991f6e503 100644
--- a/mysql-test/suite/innodb_fts/t/concurrent_insert.test
+++ b/mysql-test/suite/innodb_fts/t/concurrent_insert.test
@@ -31,7 +31,7 @@ INSERT INTO t2 VALUES('mariadb');
connection default;
SET @saved_dbug = @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug ='+d,fts_instrument_sync_request,ib_optimize_wq_hang';
-SET DEBUG_SYNC= 'fts_instrument_sync_request
+SET DEBUG_SYNC= 'fts_sync_end
SIGNAL drop_index_start WAIT_FOR sync_op';
send INSERT INTO t1 VALUES('Keyword');
@@ -48,5 +48,33 @@ connection con1;
reap;
drop table t1, t2;
connection default;
-set DEBUG_SYNC=RESET;
SET @@GLOBAL.debug_dbug = @saved_dbug;
+disconnect con1;
+
+--echo #
+--echo # MDEV-25984 Assertion `max_doc_id > 0' failed in fts_init_doc_id()
+--echo #
+call mtr.add_suppression("InnoDB: \\(Lock wait timeout\\) while getting next doc id for table `test`.`t1`");
+
+CREATE TABLE t1(f1 CHAR(100), f2 INT, fulltext(f1))ENGINE=InnoDB;
+INSERT INTO t1 VALUES("mariadb", 1), ("innodb", 1);
+--source include/restart_mysqld.inc
+SET DEBUG_SYNC='innodb_rollback_after_fts_lock SIGNAL insert_dml WAIT_FOR ddl_continue';
+SEND ALTER TABLE t1 ADD UNIQUE INDEX(f2);
+
+connect(con1,localhost,root,,,);
+SET DEBUG_SYNC='now WAIT_FOR insert_dml';
+SET DEBUG_SYNC='fts_cmp_set_sync_doc_id_retry SIGNAL ddl_continue WAIT_FOR dml_finish';
+send INSERT INTO t1 VALUES("index", 2);
+
+connection default;
+--error ER_DUP_ENTRY
+reap;
+SET DEBUG_SYNC="now SIGNAL dml_finish";
+connection con1;
+reap;
+SHOW CREATE TABLE t1;
+connection default;
+disconnect con1;
+DROP TABLE t1;
+set DEBUG_SYNC=RESET;
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 7bece572827..cb53de4d595 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; }
--source include/maybe_versioning.inc
FLUSH TABLES;
@@ -47,22 +48,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 ...');
@@ -102,9 +161,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
@@ -228,6 +289,8 @@ SELECT * FROM mdev19073_2 WHERE MATCH (title, body)
AGAINST ('Database' IN NATURAL LANGUAGE MODE);
DROP TABLE mdev19073, mdev19073_2;
+let $shutdown_timeout=;
+
--echo #
--echo # MDEV-28706 Redundant InnoDB table fails during alter
--echo #
@@ -242,3 +305,5 @@ INSERT INTO t1 VALUES ( 1255, "mariadb", "InnoDB");
--source include/restart_mysqld.inc
ALTER TABLE t1 ADD FULLTEXT(col_text_1);
DROP TABLE t1;
+
+SELECT * FROM information_schema.innodb_sys_tables WHERE name LIKE 'test/%';
diff --git a/mysql-test/suite/innodb_fts/t/fulltext_misc.test b/mysql-test/suite/innodb_fts/t/fulltext_misc.test
index 25690ddc1d9..083953a44ce 100644
--- a/mysql-test/suite/innodb_fts/t/fulltext_misc.test
+++ b/mysql-test/suite/innodb_fts/t/fulltext_misc.test
@@ -152,8 +152,7 @@ insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
select * from t1 where a like "abc%";
select * from t1 where a like "test%";
select * from t1 where a like "te_t";
-# InnoDB_FTS: we don't support the postfix "+0"
-select * from t1 where match a against ("te*" in boolean mode)+0;
+select * from t1 where match a against ("te*" in boolean mode);
drop table t1;
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test b/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test
index 470acd554b4..b194ad20f71 100644
--- a/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test
@@ -1336,9 +1336,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 3f9d1f8faf1..7ff36b6f4b6 100644
--- a/mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test
@@ -131,6 +131,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 f4c5f49aa73..08581768eec 100644
--- a/mysql-test/suite/innodb_fts/t/misc_debug.test
+++ b/mysql-test/suite/innodb_fts/t/misc_debug.test
@@ -49,12 +49,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
@@ -86,12 +87,31 @@ DROP TABLE t1;
--echo # MDEV-25663 Double free of transaction during TRUNCATE
--echo #
call mtr.add_suppression("InnoDB: \\(Too many concurrent transactions\\)");
-SET @save_dbug= @@debug_dbug;
+call mtr.add_suppression("InnoDB: Cannot save table statistics for table `test`\\.`t1`: Too many concurrent transactions");
+SET @saved_debug_dbug= @@debug_dbug;
CREATE TABLE t1 (b CHAR(12), FULLTEXT KEY(b)) engine=InnoDB;
SET debug_dbug='+d,ib_create_table_fail_too_many_trx';
---error ER_GET_ERRNO,ER_VERS_NOT_SUPPORTED
+if ($MTR_COMBINATION_ORIG)
+{
TRUNCATE t1;
-SET debug_dbug=@save_dbug;
+}
+if (!$MTR_COMBINATION_ORIG)
+{
+--echo TRUNCATE t1;
+}
+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_LOCK_WAIT_TIMEOUT
+ALTER TABLE t1 ADD FULLTEXT(f2);
+SET debug_dbug=@saved_debug_dbug;
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+ALTER TABLE t1 ADD FULLTEXT(f2);
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/t/misc_debug2.test b/mysql-test/suite/innodb_fts/t/misc_debug2.test
index 815be816afd..946700e3229 100644
--- a/mysql-test/suite/innodb_fts/t/misc_debug2.test
+++ b/mysql-test/suite/innodb_fts/t/misc_debug2.test
@@ -17,12 +17,12 @@ DROP TABLE mdev21563;
CREATE TABLE t1(f1 CHAR(100), FULLTEXT idx(f1))ENGINE=InnoDB;
INSERT INTO t1 VALUES('mysql'), ('innodb');
SET @save_dbug=@@debug_dbug;
-set debug_dbug="+d,fts_instrument_sync_debug";
+set debug_dbug="+d,fts_instrument_sync_request";
INSERT INTO t1 VALUES('test');
set debug_dbug=@save_dbug;
INSERT INTO t1 VALUES('This is a fts issue');
--source include/restart_mysqld.inc
-set debug_dbug="+d,fts_instrument_sync_debug";
+set debug_dbug="+d,fts_instrument_sync_request";
UPDATE t1 SET f1="mariadb";
set debug_dbug=@save_dbug;
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/t/sync.test b/mysql-test/suite/innodb_fts/t/sync.test
index 89a45a2873f..49663f20b8a 100644
--- a/mysql-test/suite/innodb_fts/t/sync.test
+++ b/mysql-test/suite/innodb_fts/t/sync.test
@@ -27,7 +27,7 @@ connection con1;
SET @old_dbug = @@SESSION.debug_dbug;
SET debug_dbug = '+d,fts_instrument_sync_debug';
-SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR selected';
+SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR selected';
send INSERT INTO t1(title) VALUES('mysql database');
@@ -74,7 +74,7 @@ connection con1;
SET debug_dbug = '+d,fts_instrument_sync_debug';
-SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR inserted';
+SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR inserted';
send INSERT INTO t1(title) VALUES('mysql database');
diff --git a/mysql-test/suite/innodb_fts/t/sync_block.test b/mysql-test/suite/innodb_fts/t/sync_block.test
deleted file mode 100644
index 593c8fd9176..00000000000
--- a/mysql-test/suite/innodb_fts/t/sync_block.test
+++ /dev/null
@@ -1,125 +0,0 @@
-#
-# BUG#22516559 MYSQL INSTANCE STALLS WHEN SYNCING FTS INDEX
-#
-
---source include/have_innodb.inc
---source include/have_debug.inc
---source include/have_debug_sync.inc
---source include/have_log_bin.inc
---source include/count_sessions.inc
---source include/maybe_versioning.inc
-
-SET @old_log_output = @@global.log_output;
-SET @old_slow_query_log = @@global.slow_query_log;
-SET @old_general_log = @@global.general_log;
-SET @old_long_query_time = @@global.long_query_time;
-SET @old_debug = @@global.debug_dbug;
-
-SET GLOBAL log_output = 'TABLE';
-SET GLOBAL general_log = 1;
-SET GLOBAL slow_query_log = 1;
-SET GLOBAL long_query_time = 1;
-
-connect (con1,localhost,root,,);
-connect (con2,localhost,root,,);
-connection default;
-
---echo # Case 1: Sync blocks DML(insert) on the same table.
-CREATE TABLE t1 (
- FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
- title VARCHAR(200),
- FULLTEXT(title)
-) ENGINE = InnoDB;
-
-connection con1;
-
-SET GLOBAL debug_dbug='+d,fts_instrument_sync_debug,fts_instrument_sync_sleep';
-
-SET DEBUG_SYNC= 'fts_sync_begin SIGNAL begin WAIT_FOR continue';
-
-send INSERT INTO t1(title) VALUES('mysql database');
-
-connection con2;
-
-SET DEBUG_SYNC= 'now WAIT_FOR begin';
-
-send SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
-
-connection default;
-SET DEBUG_SYNC= 'now SIGNAL continue';
-
-connection con1;
---echo /* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
---reap
-
-connection con2;
---echo /* conneciton con2 */ SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
---reap
-
-connection default;
--- echo # make con1 & con2 show up in mysql.slow_log
-SELECT SLEEP(2);
--- echo # slow log results should only contain INSERT INTO t1.
-SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
-
-SET GLOBAL debug_dbug = @old_debug;
-TRUNCATE TABLE mysql.slow_log;
-
-DROP TABLE t1;
-
---echo # Case 2: Sync blocks DML(insert) on other tables.
-CREATE TABLE t1 (
- FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
- title VARCHAR(200),
- FULLTEXT(title)
-) ENGINE = InnoDB;
-
-CREATE TABLE t2(id INT);
-
-connection con1;
-
-SET GLOBAL debug_dbug='+d,fts_instrument_sync_request,fts_instrument_sync_sleep';
-
-SET DEBUG_SYNC= 'fts_instrument_sync_request SIGNAL begin WAIT_FOR continue';
-
-send INSERT INTO t1(title) VALUES('mysql database');
-
-connection con2;
-
-SET DEBUG_SYNC= 'now WAIT_FOR begin';
-
-send INSERT INTO t2 VALUES(1);
-
-connection default;
-SET DEBUG_SYNC= 'now SIGNAL continue';
-
-connection con1;
---echo /* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
---reap
-
-connection con2;
---echo /* conneciton con2 */ INSERT INTO t2 VALUES(1);
---reap
-
-connection default;
-SET DEBUG_SYNC = 'RESET';
--- echo # make con1 & con2 show up in mysql.slow_log
-SELECT SLEEP(2);
--- echo # slow log results should be empty here.
-SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
-
-SET GLOBAL debug_dbug = @old_debug;
-TRUNCATE TABLE mysql.slow_log;
-
-DROP TABLE t1,t2;
-
-disconnect con1;
-disconnect con2;
-
---source include/wait_until_count_sessions.inc
-
--- echo # Restore slow log settings.
-SET GLOBAL log_output = @old_log_output;
-SET GLOBAL general_log = @old_general_log;
-SET GLOBAL slow_query_log = @old_slow_query_log;
-SET GLOBAL long_query_time = @old_long_query_time;
diff --git a/mysql-test/suite/innodb_gis/r/1.result b/mysql-test/suite/innodb_gis/r/1.result
index 6db6407b5db..b40c24b8fc6 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 bf75105db2a..08632b67514 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 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci
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 a01dbc188e5..d3c69294c10 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 COLLATE=latin1_swedish_ci
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 1caebdc0757..e5acdf5eb6f 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 2a31a6c5317..36711c39050 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 bda5ae59238..f58198395e4 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 fdadadb7c76..04ba208c9ea 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 11451821386..2fd39f9ca32 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 3a74c0f0b7e..3e6464df997 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/rtree_split.result b/mysql-test/suite/innodb_gis/r/rtree_split.result
index 8e475776ce0..97027bde865 100644
--- a/mysql-test/suite/innodb_gis/r/rtree_split.result
+++ b/mysql-test/suite/innodb_gis/r/rtree_split.result
@@ -61,3 +61,15 @@ select count(*) from t1 where MBRWithin(t1.c2, @g1);
count(*)
57344
drop table t1;
+#
+# MDEV-30400 Assertion height == btr_page_get_level ... on INSERT
+#
+CREATE TABLE t1 (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB;
+SET @save_limit=@@GLOBAL.innodb_limit_optimistic_insert_debug;
+SET GLOBAL innodb_limit_optimistic_insert_debug=2;
+BEGIN;
+INSERT INTO t1 SELECT POINTFROMTEXT ('POINT(0 0)') FROM seq_1_to_6;
+ROLLBACK;
+SET GLOBAL innodb_limit_optimistic_insert_debug=@save_limit;
+DROP TABLE t1;
+# End of 10.6 tests
diff --git a/mysql-test/suite/innodb_gis/r/types.result b/mysql-test/suite/innodb_gis/r/types.result
index cdfd0389117..674a4497e43 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 20df437d4d5..6f30b38b6d4 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/rtree_split.test b/mysql-test/suite/innodb_gis/t/rtree_split.test
index 6f285187508..a23315dc3f3 100644
--- a/mysql-test/suite/innodb_gis/t/rtree_split.test
+++ b/mysql-test/suite/innodb_gis/t/rtree_split.test
@@ -73,3 +73,18 @@ select count(*) from t1 where MBRWithin(t1.c2, @g1);
# Clean up.
drop table t1;
+
+--echo #
+--echo # MDEV-30400 Assertion height == btr_page_get_level ... on INSERT
+--echo #
+
+CREATE TABLE t1 (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB;
+SET @save_limit=@@GLOBAL.innodb_limit_optimistic_insert_debug;
+SET GLOBAL innodb_limit_optimistic_insert_debug=2;
+BEGIN;
+INSERT INTO t1 SELECT POINTFROMTEXT ('POINT(0 0)') FROM seq_1_to_6;
+ROLLBACK;
+SET GLOBAL innodb_limit_optimistic_insert_debug=@save_limit;
+DROP TABLE t1;
+
+--echo # End of 10.6 tests
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 6c6f1b38d91..f48b9dd7283 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 fb3d30aac7d..a8213aa7e4e 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 a559c9c97f1..f7fdd38f631 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
diff --git a/mysql-test/suite/innodb_i_s/innodb_cmp.result b/mysql-test/suite/innodb_i_s/innodb_cmp.result
index 9ca220a2ebd..2931eb1ab4e 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 6ef2d6c6794..d94e2d5a1ca 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 3c9e587dd3c..a9879973281 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 0d92c49f233..f4cc2100f29 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
diff --git a/mysql-test/suite/innodb_i_s/innodb_cmpmem.result b/mysql-test/suite/innodb_i_s/innodb_cmpmem.result
index b5162429601..2cc7669d70f 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 8b8cdd7d387..4f946a2dba0 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 1505e2e1f68..ead7446ff9c 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 7e69d2243db..0abf9bdb2dc 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 9d12b009cb4..124888e1fe3 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 f42ae79a884..3ea52393958 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 e06e6935a4c..02f3c73171d 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 022c2813d90..6122f0116e1 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 4d819025bb2..0a974008548 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
diff --git a/mysql-test/suite/innodb_i_s/innodb_locks.result b/mysql-test/suite/innodb_i_s/innodb_locks.result
index 8c8870de600..1a064e52e73 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 a6c0e50ad1e..8caa972ddd9 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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.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 5b5d0de6ad0..3e2df356342 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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.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 c457d1dc4b9..eb4cb5e5774 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 7c79e8fd566..2cba1cb74a8 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 3a9bb5731ff..8ba0544ac45 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 aa713643a16..ea42e7ea784 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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.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 3779ae1a8d0..08db6edb438 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 0c88eaf0a92..01e655de47f 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 1f1136e089d..98b43c63c27 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 cba46705e3b..3736c038963 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 7fff54f77e5..013e4e67fb9 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
diff --git a/mysql-test/suite/innodb_i_s/innodb_trx.result b/mysql-test/suite/innodb_i_s/innodb_trx.result
index 54cd6bc34ac..36a08d8a456 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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 efc5b1f66a3..494da214f2e 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 COLLATE=utf8_general_ci STATS_PERSISTENT=0
+-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci 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 COLLATE=latin1_swedish_ci 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 b3dc15fb802..a22fa9e9b95 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 COLLATE=utf8_general_ci STATS_PERSISTENT=0
+-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci 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 bebdf6fe374..47effe06884 100644
--- a/mysql-test/suite/innodb_zip/r/page_size.result
+++ b/mysql-test/suite/innodb_zip/r/page_size.result
@@ -44,6 +44,7 @@ test/t1 DEFAULT DEFAULT MYSQLD_DATADIR/test/t1.ibd
test/t2 DEFAULT DEFAULT MYSQLD_DATADIR/test/t2.ibd
test/t3 DEFAULT 8192 MYSQLD_DATADIR/test/t3.ibd
test/t4 DEFAULT DEFAULT MYSQLD_DATADIR/test/t4.ibd
+innodb_temporary DEFAULT DEFAULT MYSQLD_DATADIR/ibtmp1
DROP TABLE t1, t2, t3, t4;
# Test 4) The maximum row size is dependent upon the page size.
# Each row format has its own amount of overhead that
@@ -367,7 +368,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 COLLATE=utf8_general_ci STATS_PERSISTENT=0
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci STATS_PERSISTENT=0
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
@@ -595,3 +596,16 @@ CREATE TABLE t1(c text, PRIMARY KEY (c(293)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
DROP TABLE t1;
+#
+# MDEV-28950 Assertion `*err == DB_SUCCESS' in btr_page_split_and_insert
+#
+CREATE TABLE t1(c CHAR(255) NOT NULL) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('');
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+INSERT INTO t1 VALUES (''),(''),('');
+SET @save_innodb_compression_level= @@innodb_compression_level;
+SET GLOBAL innodb_compression_level=0;
+INSERT INTO t1 VALUES ('');
+SET GLOBAL innodb_compression_level= @save_innodb_compression_level;
+DROP TABLE t1;
+# End of 10.6 tests
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 da38dea9954..43a63a29e71 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 9a1bcb61026..eb1bfe67c5d 100644
--- a/mysql-test/suite/innodb_zip/r/restart.result
+++ b/mysql-test/suite/innodb_zip/r/restart.result
@@ -216,13 +216,14 @@ 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
test/t7_restart#p#p1#sp#s3 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd
+innodb_temporary DEFAULT DEFAULT MYSQLD_DATADIR/ibtmp1
#
# Shutdown the server and list the tablespace OS files
#
@@ -401,13 +402,14 @@ 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
test/t7_restart#p#p1#sp#s3 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd
+innodb_temporary DEFAULT DEFAULT MYSQLD_DATADIR/ibtmp1
DROP TABLE t1_restart;
DROP TABLE t2_restart;
DROP TABLE t3_restart;
@@ -420,14 +422,15 @@ 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
+innodb_temporary DEFAULT DEFAULT MYSQLD_DATADIR/ibtmp1
INSERT INTO t5_restart VALUES (1000000000, 'MySQL', 'InnoDB', '2011-11-11', 'Read this after reboot');
INSERT INTO t5_restart (SELECT 0, c2, c3, c4, c5 FROM t5_restart);
INSERT INTO t5_restart (SELECT 0, c2, c3, c4, c5 FROM t5_restart);
@@ -525,14 +528,15 @@ 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
+innodb_temporary DEFAULT DEFAULT MYSQLD_DATADIR/ibtmp1
SELECT count(*) FROM t5_restart;
count(*)
8
@@ -626,14 +630,15 @@ 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
+innodb_temporary DEFAULT DEFAULT MYSQLD_DATADIR/ibtmp1
INSERT INTO t55_restart (SELECT 0, c2, c3, c4, c5 FROM t55_restart);
SELECT count(*) FROM t55_restart;
count(*)
@@ -724,14 +729,15 @@ 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
+innodb_temporary DEFAULT DEFAULT MYSQLD_DATADIR/ibtmp1
INSERT INTO t55_restart (SELECT 0, c2, c3, c4, c5 FROM t55_restart);
SELECT count(*) FROM t55_restart;
count(*)
@@ -858,14 +864,15 @@ 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
+innodb_temporary DEFAULT DEFAULT MYSQLD_DATADIR/ibtmp1
INSERT INTO t4_restart (SELECT 0, c2, c3, c4, c5 FROM t4_restart);
SELECT count(*) FROM t4_restart;
count(*)
@@ -996,14 +1003,15 @@ 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
+innodb_temporary DEFAULT DEFAULT MYSQLD_DATADIR/ibtmp1
INSERT INTO t4_restart (SELECT 0, c2, c3, c4, c5 FROM t4_restart);
SELECT count(*) FROM t4_restart;
count(*)
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 a257ad44760..dadf1117f7e 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,11 @@ 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");
+call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*ibdata1' page");
+call mtr.add_suppression("InnoDB: File '.*ibdata1' is corrupted");
FLUSH TABLES;
SET SESSION innodb_strict_mode=1;
CREATE TABLE t1 (c1 INT) ENGINE = Innodb
@@ -29,12 +31,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 +91,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 +114,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,
@@ -324,10 +327,8 @@ ALTER TABLE t1 DISCARD TABLESPACE;
SELECT COUNT(*) FROM t1;
ERROR HY000: Tablespace has been discarded for table `t1`
restore: t1 .ibd and .cfg files
-SET SESSION debug_dbug="+d,buf_page_import_corrupt_failure";
ALTER TABLE t1 IMPORT TABLESPACE;
-ERROR HY000: Internal error: Error importing tablespace for table `test`.`t1` : Data structure corruption
-SET SESSION debug_dbug=@saved_debug_dbug;
+Got one of the listed errors
DROP TABLE t1;
unlink: t1.ibd
unlink: t1.cfg
@@ -391,7 +392,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 e1e48b02319..1b044d68680 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/page_size.test b/mysql-test/suite/innodb_zip/t/page_size.test
index bee2d585101..16d65a139cf 100644
--- a/mysql-test/suite/innodb_zip/t/page_size.test
+++ b/mysql-test/suite/innodb_zip/t/page_size.test
@@ -874,3 +874,18 @@ ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
--enable_warnings
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-28950 Assertion `*err == DB_SUCCESS' in btr_page_split_and_insert
+--echo #
+CREATE TABLE t1(c CHAR(255) NOT NULL) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('');
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+INSERT INTO t1 VALUES (''),(''),('');
+SET @save_innodb_compression_level= @@innodb_compression_level;
+SET GLOBAL innodb_compression_level=0;
+INSERT INTO t1 VALUES ('');
+SET GLOBAL innodb_compression_level= @save_innodb_compression_level;
+DROP TABLE t1;
+
+--echo # End of 10.6 tests
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..c30a4f8f000 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,11 @@ 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");
+call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*ibdata1' page");
+call mtr.add_suppression("InnoDB: File '.*ibdata1' is corrupted");
FLUSH TABLES;
let MYSQLD_DATADIR =`SELECT @@datadir`;
@@ -281,6 +283,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;
#
@@ -434,19 +437,29 @@ ALTER TABLE t1 DISCARD TABLESPACE;
SELECT COUNT(*) FROM t1;
# Restore files
+let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
+let MYSQLD_DATADIR=`select @@datadir`;
+
perl;
do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
ib_restore_tablespaces("test", "t1");
+my $page;
+my $ps = $ENV{INNODB_PAGE_SIZE};
+my $file = "$ENV{MYSQLD_DATADIR}/test/t1.ibd";
+open(FILE, "+<$file") || die "Unable to open $file";
+binmode FILE;
+sysseek(FILE, 4*$ps, 0) || die "Unable to seek $file\n";
+die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
+substr($page,24,2)='42';
+sysseek(FILE, 4*$ps, 0) || die "Unable to rewind $file\n";
+syswrite(FILE, $page, $ps)==$ps || die "Unable to write $file\n";
+close(FILE) || die "Unable to close $file";
EOF
-SET SESSION debug_dbug="+d,buf_page_import_corrupt_failure";
-
# Following alter is failing
---error ER_INTERNAL_ERROR
+--error ER_INTERNAL_ERROR,ER_NOT_KEYFILE
ALTER TABLE t1 IMPORT TABLESPACE;
-SET SESSION debug_dbug=@saved_debug_dbug;
-
DROP TABLE t1;
perl;
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 cf904e78f69..545b127415c 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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
DROP TABLE `アアア`;
DROP TABLE `イイイ`;
DROP TABLE `ã‚ã‚ã‚`;
@@ -206,7 +206,7 @@ Table Create Table
PRIMARY KEY (`ï½·ï½·ï½·`),
UNIQUE KEY `ククク` (`ククク`),
KEY `カカカ` (`カカ`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
DROP TABLE `アアア`;
DROP TABLE `イイイ`;
DROP TABLE `ã‚ã‚ã‚`;
@@ -368,7 +368,7 @@ Table Create Table
PRIMARY KEY (`ï½·ï½·ï½·`),
UNIQUE KEY `ククク` (`ククク`),
KEY `カカカ` (`カカ`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 0638d3db51a..13958490aa7 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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `イイイ`;
Table Create Table
イイイ CREATE TABLE `イイイ` (
`ï½·ï½·ï½·` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ウウウ`;
Table Create Table
ウウウ CREATE TABLE `ウウウ` (
`ククク` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ï½´ï½´ï½´`;
Table Create Table
ï½´ï½´ï½´ CREATE TEMPORARY TABLE `ï½´ï½´ï½´` (
`ケケケ` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `オオオ`;
Table Create Table
オオオ CREATE TEMPORARY TABLE `オオオ` (
`コココ` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ã‹ã‹ã‹` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ã„ã„ã„`;
Table Create Table
ã„ã„ã„ CREATE TABLE `ã„ã„ã„` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ã†ã†ã†`;
Table Create Table
ã†ã†ã† CREATE TABLE `ã†ã†ã†` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ãˆãˆãˆ`;
Table Create Table
ãˆãˆãˆ CREATE TEMPORARY TABLE `ãˆãˆãˆ` (
`ã‘ã‘ã‘` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ãŠãŠãŠ`;
Table Create Table
ãŠãŠãŠ CREATE TEMPORARY TABLE `ãŠãŠãŠ` (
`ã“ã“ã“` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丂丂丂` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `é¾—é¾—é¾—`;
Table Create Table
é¾—é¾—é¾— CREATE TABLE `é¾—é¾—é¾—` (
`丄丄丄` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `龞龞龞`;
Table Create Table
龞龞龞 CREATE TABLE `龞龞龞` (
`丅丅丅` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `龡龡龡`;
Table Create Table
龡龡龡 CREATE TEMPORARY TABLE `龡龡龡` (
`丌丌丌` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `龢龢龢`;
Table Create Table
龢龢龢 CREATE TEMPORARY TABLE `龢龢龢` (
`丒丒丒` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `イイイ`;
Table Create Table
イイイ CREATE TABLE `イイイ` (
`ï½·ï½·ï½·` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ウウウ`;
Table Create Table
ウウウ CREATE TABLE `ウウウ` (
`ククク` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ï½´ï½´ï½´`;
Table Create Table
ï½´ï½´ï½´ CREATE TEMPORARY TABLE `ï½´ï½´ï½´` (
`ケケケ` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `オオオ`;
Table Create Table
オオオ CREATE TEMPORARY TABLE `オオオ` (
`コココ` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ã‹ã‹ã‹` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ã„ã„ã„`;
Table Create Table
ã„ã„ã„ CREATE TABLE `ã„ã„ã„` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ã†ã†ã†`;
Table Create Table
ã†ã†ã† CREATE TABLE `ã†ã†ã†` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ãˆãˆãˆ`;
Table Create Table
ãˆãˆãˆ CREATE TEMPORARY TABLE `ãˆãˆãˆ` (
`ã‘ã‘ã‘` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ãŠãŠãŠ`;
Table Create Table
ãŠãŠãŠ CREATE TEMPORARY TABLE `ãŠãŠãŠ` (
`ã“ã“ã“` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丂丂丂` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `é¾—é¾—é¾—`;
Table Create Table
é¾—é¾—é¾— CREATE TABLE `é¾—é¾—é¾—` (
`丄丄丄` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `龞龞龞`;
Table Create Table
龞龞龞 CREATE TABLE `龞龞龞` (
`丅丅丅` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `龡龡龡`;
Table Create Table
龡龡龡 CREATE TEMPORARY TABLE `龡龡龡` (
`丌丌丌` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `龢龢龢`;
Table Create Table
龢龢龢 CREATE TEMPORARY TABLE `龢龢龢` (
`丒丒丒` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `イイイ`;
Table Create Table
イイイ CREATE TABLE `イイイ` (
`ï½·ï½·ï½·` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ウウウ`;
Table Create Table
ウウウ CREATE TABLE `ウウウ` (
`ククク` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ï½´ï½´ï½´`;
Table Create Table
ï½´ï½´ï½´ CREATE TEMPORARY TABLE `ï½´ï½´ï½´` (
`ケケケ` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `オオオ`;
Table Create Table
オオオ CREATE TEMPORARY TABLE `オオオ` (
`コココ` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ã‹ã‹ã‹` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ã„ã„ã„`;
Table Create Table
ã„ã„ã„ CREATE TABLE `ã„ã„ã„` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ã†ã†ã†`;
Table Create Table
ã†ã†ã† CREATE TABLE `ã†ã†ã†` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ãˆãˆãˆ`;
Table Create Table
ãˆãˆãˆ CREATE TEMPORARY TABLE `ãˆãˆãˆ` (
`ã‘ã‘ã‘` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ãŠãŠãŠ`;
Table Create Table
ãŠãŠãŠ CREATE TEMPORARY TABLE `ãŠãŠãŠ` (
`ã“ã“ã“` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丂丂丂` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `é¾—é¾—é¾—`;
Table Create Table
é¾—é¾—é¾— CREATE TABLE `é¾—é¾—é¾—` (
`丄丄丄` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `龞龞龞`;
Table Create Table
龞龞龞 CREATE TABLE `龞龞龞` (
`丅丅丅` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `龡龡龡`;
Table Create Table
龡龡龡 CREATE TEMPORARY TABLE `龡龡龡` (
`丌丌丌` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `龢龢龢`;
Table Create Table
龢龢龢 CREATE TEMPORARY TABLE `龢龢龢` (
`丒丒丒` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 ded1ca61f2b..c6e3567e114 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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ï¼´ï¼’`;
Table Create Table
ï¼´ï¼’ CREATE TABLE `ï¼´ï¼’` (
`C1` enum('ã‚','ã„','ã†') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `T3`;
Table Create Table
T3 CREATE TABLE `T3` (
`C1` enum('龔','龖','龗') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ï¼´ï¼”`;
Table Create Table
ï¼´ï¼” CREATE TABLE `ï¼´ï¼”` (
`C1` enum('ア','イ','ウ') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `T5`;
Table Create Table
T5 CREATE TABLE `T5` (
`C1` enum('ã‚','ã„','ã†') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ï¼´ï¼–`;
Table Create Table
ï¼´ï¼– CREATE TABLE `ï¼´ï¼–` (
`C1` enum('龔','龖','龗') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ï¼´ï¼—`;
Table Create Table
ï¼´ï¼— CREATE TABLE `ï¼´ï¼—` (
`C1` enum('ア','イ','ウ') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `T8`;
Table Create Table
T8 CREATE TABLE `T8` (
`C1` enum('ã‚','ã„','ã†') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
SHOW CREATE TABLE `ï¼´ï¼™`;
Table Create Table
ï¼´ï¼™ CREATE TABLE `ï¼´ï¼™` (
`C1` enum('龔','龖','龗') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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..b9cc09fdd97
--- /dev/null
+++ b/mysql-test/suite/json/r/json_table.result
@@ -0,0 +1,1015 @@
+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 COLLATE utf8mb4_general_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+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
+select * from
+json_table('[{"color": "blue", "price": { "high": 10, "low": 5}},
+ {"color": "white", "price": "pretty low"},
+ {"color": "yellow", "price": 256.20},
+ {"color": "red", "price": { "high": 20, "low": 8}}]',
+'$[*]' columns(color varchar(100) path '$.color',
+price json path '$.price'
+ )
+) as T;
+color price
+blue { "high": 10, "low": 5}
+white "pretty low"
+yellow 256.20
+red { "high": 20, "low": 8}
+#
+# 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
+#
+# MDEV-28480: Assertion `0' failed in Item_row::illegal_method_call
+# on SELECT FROM JSON_TABLE
+#
+SELECT 1 FROM JSON_TABLE (row(1,2), '$' COLUMNS (o FOR ORDINALITY)) AS j;
+ERROR 21000: Operand should contain 1 column(s)
+#
+# 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..699d5a8b4f3
--- /dev/null
+++ b/mysql-test/suite/json/r/json_table_mysql.result
@@ -0,0 +1,1662 @@
+#
+# 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 [1,2] 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 [1,2] 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 {"ll":["b1","b2","b3"]}
+1 3 0 NULL NULL NULL 2 {"ll": ["a1","a2"]}
+1 3 0 NULL NULL NULL 3 {"ll":["c"]}
+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 {"ll":[1,11,111]}
+2 2 0 NULL NULL NULL 2 {"ll":[2]}
+3 NULL 1 1 1 zzz NULL NULL
+3 NULL 1 NULL NULL NULL 1 {"ll":["zzz"]}
+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 {"ll":[0.1,0.01]}
+4 0 0 NULL NULL NULL 2 {"ll":[0.02,0.002,0.0002]}
+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;
+x
+0
+SELECT * FROM
+JSON_TABLE('{}', '$' COLUMNS (x INT PATH '$.x' DEFAULT 0 ON ERROR)) jt;
+x
+NULL
+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 COLLATE=latin1_swedish_ci
+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 COLLATE utf8mb4_general_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+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 COLLATE utf8mb4_general_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+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 COLLATE utf8mb4_general_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+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..ec330046f25
--- /dev/null
+++ b/mysql-test/suite/json/t/json_table.test
@@ -0,0 +1,876 @@
+--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;
+
+select * from
+ json_table('[{"color": "blue", "price": { "high": 10, "low": 5}},
+ {"color": "white", "price": "pretty low"},
+ {"color": "yellow", "price": 256.20},
+ {"color": "red", "price": { "high": 20, "low": 8}}]',
+ '$[*]' columns(color varchar(100) path '$.color',
+ price json path '$.price'
+ )
+ ) as T;
+
+--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 # MDEV-28480: Assertion `0' failed in Item_row::illegal_method_call
+--echo # on SELECT FROM JSON_TABLE
+--echo #
+
+--error ER_OPERAND_COLUMNS
+SELECT 1 FROM JSON_TABLE (row(1,2), '$' COLUMNS (o FOR ORDINALITY)) AS j;
+
+--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..9f77ad964f3
--- /dev/null
+++ b/mysql-test/suite/json/t/json_table_mysql.test
@@ -0,0 +1,1493 @@
+# 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;
+
+SELECT * FROM
+ JSON_TABLE('{}', '$' COLUMNS (x INT PATH '$.x' DEFAULT 0 ON EMPTY)) jt;
+SELECT * FROM
+ JSON_TABLE('{}', '$' COLUMNS (x INT PATH '$.x' DEFAULT 0 ON ERROR)) jt;
+# We don't accept dates in DEFAULT
+--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 523aefd6a99..cc035426745 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/encrypt-no-key.result b/mysql-test/suite/maria/encrypt-no-key.result
index 6745670dfac..5229158d525 100644
--- a/mysql-test/suite/maria/encrypt-no-key.result
+++ b/mysql-test/suite/maria/encrypt-no-key.result
@@ -1,15 +1,17 @@
-call mtr.add_suppression('Unknown key id 1. Can''t continue');
+call mtr.add_suppression('Unknown key id 1');
+call mtr.add_suppression('try to repair it');
+call mtr.add_suppression('Index is corrupted');
set global aria_encrypt_tables= 1;
create table t1 (pk int primary key, a int, key(a)) engine=aria transactional=1;
alter table t1 disable keys;
insert into t1 values (1,1);
alter table t1 enable keys;
-ERROR HY000: Unknown key id 1. Can't continue!
+ERROR HY000: Unknown key id 1 for test/t1. Can't continue!
repair table t1 use_frm;
Table Op Msg_type Msg_text
test.t1 repair warning Number of rows changed from 0 to 1
-test.t1 repair Error Unknown key id 1. Can't continue!
-test.t1 repair Error Unknown key id 1. Can't continue!
+test.t1 repair Error Unknown key id 1 for test/t1. Can't continue!
+test.t1 repair Error Unknown key id 1 for test/t1. Can't continue!
test.t1 repair status OK
drop table t1;
set global aria_encrypt_tables= default;
diff --git a/mysql-test/suite/maria/encrypt-no-key.test b/mysql-test/suite/maria/encrypt-no-key.test
index 2d586c50695..1157263ca79 100644
--- a/mysql-test/suite/maria/encrypt-no-key.test
+++ b/mysql-test/suite/maria/encrypt-no-key.test
@@ -1,14 +1,20 @@
#
# MDEV-18496 Crash when Aria encryption is enabled but plugin not available
#
-call mtr.add_suppression('Unknown key id 1. Can''t continue');
+call mtr.add_suppression('Unknown key id 1');
+call mtr.add_suppression('try to repair it');
+call mtr.add_suppression('Index is corrupted');
set global aria_encrypt_tables= 1;
create table t1 (pk int primary key, a int, key(a)) engine=aria transactional=1;
alter table t1 disable keys;
insert into t1 values (1,1);
-error 192;
+--replace_result \\ /
+--replace_regex /for .*test/for test/
+--error 192
alter table t1 enable keys;
+--replace_result \\ /
+--replace_regex /for .*test/for test/
repair table t1 use_frm;
drop table t1;
set global aria_encrypt_tables= default;
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 72a04fb37ba..05d2f339ae7 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-recover.result b/mysql-test/suite/maria/maria-recover.result
index 8a33307b2b0..7bb90cc0405 100644
--- a/mysql-test/suite/maria/maria-recover.result
+++ b/mysql-test/suite/maria/maria-recover.result
@@ -26,9 +26,10 @@ a
ThursdayMorningsMarket
ThursdayMorningsMarketb
Warnings:
-Error 145 t_corrupted2' is marked as crashed and should be repaired
+Error 145 Got error '145 "Table was marked as crashed and should be repaired"' for 't_corrupted2'
Warning 1034 1 client is using or hasn't closed the table properly
-Error 1034 Wrong base information on indexpage at page: 1
+Error 176 Got error '176 "Read page with wrong checksum"' for 't_corrupted2.MAI'
+Error 1034 Can't read indexpage from page: 1, error: 176
select * from t_corrupted2;
a
ThursdayMorningsMarket
diff --git a/mysql-test/suite/maria/maria-recover.test b/mysql-test/suite/maria/maria-recover.test
index 36fa41d9adb..5ddfd6d202e 100644
--- a/mysql-test/suite/maria/maria-recover.test
+++ b/mysql-test/suite/maria/maria-recover.test
@@ -20,8 +20,8 @@ select count(*) from mysql.proc;
# account for Unix and Windows variation.
call mtr.add_suppression("Checking table: '\\..mysqltest.t_corrupted2'");
call mtr.add_suppression("Recovering table: '\\..mysqltest.t_corrupted2'");
-call mtr.add_suppression("Table '\\..mysqltest.t_corrupted2' is marked as crashed and should be repaired");
-call mtr.add_suppression("Table 't_corrupted2' is marked as crashed and should be repaired");
+call mtr.add_suppression("Table was marked as crashed and should be repaired");
+call mtr.add_suppression("Read page with wrong checksum");
let $def_checkinterval=`select @@global.aria_checkpoint_interval`;
@@ -78,7 +78,8 @@ perl;
syswrite (FILE, $whatever) or die;
close FILE;
EOF
-replace_regex /Table.*t_corrupted2/t_corrupted2/ ;
+--replace_result \\ /
+--replace_regex /for '.*t_corrupted2/for 't_corrupted2/
--enable_prepare_warnings
select * from t_corrupted2; # should show corruption and repair messages
--disable_prepare_warnings
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 0a1ba94b511..0893d3e3adf 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 efb45192f07..869930f5f0c 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 f4ee7670b9b..65e94414bf0 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 COLLATE utf8_general_ci DEFAULT NULL
+ `v` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci 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 COLLATE utf8_general_ci DEFAULT NULL
+ `v` mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 f0a5e3ade6c..ad69d5f2050 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 163256b14af..ebb03057504 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 c7b59f40617..066f1a50aab 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/maria/rollback.result b/mysql-test/suite/maria/rollback.result
index 6f50ffbb977..2e58387ce57 100644
--- a/mysql-test/suite/maria/rollback.result
+++ b/mysql-test/suite/maria/rollback.result
@@ -1,5 +1,5 @@
reset master;
-call mtr.add_suppression("Table '.*' is marked as crashed and should be repaired");
+call mtr.add_suppression("Table was marked as crashed");
call mtr.add_suppression("Checking table: .*");
create table t1 (a int primary key auto_increment, b int) engine=aria transactional= 1;
create table t2 (a int primary key auto_increment, b int) engine=aria transactional= 0;
@@ -55,7 +55,7 @@ a b
10 11
11 12
Warnings:
-Error 145 Table './test/t2' is marked as crashed and should be repaired
+Error 145 Got error '145 "Table was marked as crashed and should be repaired"' for './test/t2'
Warning 1034 1 client is using or hasn't closed the table properly
Note 1034 Table is fixed
insert into t1 (b) values (100),(200);
@@ -93,7 +93,7 @@ NEXT VALUE for s1 seq
11 3
12 4
Warnings:
-Error 145 Table './test/s1' is marked as crashed and should be repaired
+Error 145 Got error '145 "Table was marked as crashed and should be repaired"' for './test/s1'
Warning 1034 1 client is using or hasn't closed the table properly
Note 1034 Table is fixed
drop table t1,t2;
@@ -101,7 +101,7 @@ drop sequence s1;
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 `mtr`; INSERT INTO test_suppressions (pattern) VALUES ( NAME_CONST('pattern',_latin1'Table \'.*\' is marked as crashed and should be repaired' COLLATE 'latin1_swedish_ci'))
+master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern) VALUES ( NAME_CONST('pattern',_latin1'Table was marked as crashed' COLLATE 'latin1_swedish_ci'))
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern) VALUES ( NAME_CONST('pattern',_latin1'Checking table: .*' COLLATE 'latin1_swedish_ci'))
diff --git a/mysql-test/suite/maria/rollback.test b/mysql-test/suite/maria/rollback.test
index dd8edea9c0c..d42be9274e6 100644
--- a/mysql-test/suite/maria/rollback.test
+++ b/mysql-test/suite/maria/rollback.test
@@ -5,7 +5,7 @@
reset master; # clear binlogs
-call mtr.add_suppression("Table '.*' is marked as crashed and should be repaired");
+call mtr.add_suppression("Table was marked as crashed");
call mtr.add_suppression("Checking table: .*");
#
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..599fb46bdd5
--- /dev/null
+++ b/mysql-test/suite/mariabackup/alter_copy_excluded.test
@@ -0,0 +1,66 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.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..553643bf667
--- /dev/null
+++ b/mysql-test/suite/mariabackup/alter_copy_race.test
@@ -0,0 +1,51 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.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 4cddb5e4a70..85d22a8227b 100644
--- a/mysql-test/suite/mariabackup/big_innodb_log.test
+++ b/mysql-test/suite/mariabackup/big_innodb_log.test
@@ -5,6 +5,7 @@
# recovery process with such numbers.
--source include/have_innodb.inc
--source include/have_debug.inc
+--source include/no_valgrind_without_big.inc
--let MYSQLD_DATADIR= `select @@datadir`
let $MYSQLD_BOOTSTRAP_CMD= $MYSQLD_BOOTSTRAP_CMD --datadir=$MYSQLD_DATADIR --tmpdir=$MYSQL_TMP_DIR --debug-dbug=+d,innodb_small_log_block_no_limit;
@@ -32,6 +33,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/compress_qpress.test b/mysql-test/suite/mariabackup/compress_qpress.test
index f86efe44e5d..c7762f8e55e 100644
--- a/mysql-test/suite/mariabackup/compress_qpress.test
+++ b/mysql-test/suite/mariabackup/compress_qpress.test
@@ -12,6 +12,10 @@ INSERT INTO t VALUES(2);
echo # xtrabackup prepare;
--disable_result_log
+# Because MDEV-24626 in 10.6 optimized file creation, we could end up with
+# t.new.qp instead of t.ibd.qp unless a log checkpoint happened to be
+# triggered between CREATE TABLE and the backup run.
+--replace_result t.new t.ibd
list_files $targetdir/test *.qp;
exec $XTRABACKUP --decompress --remove-original --target-dir=$targetdir;
list_files $targetdir/test *.qp;
diff --git a/mysql-test/suite/mariabackup/defer_space.result b/mysql-test/suite/mariabackup/defer_space.result
new file mode 100644
index 00000000000..6453aff5502
--- /dev/null
+++ b/mysql-test/suite/mariabackup/defer_space.result
@@ -0,0 +1,27 @@
+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 @save_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG="+d,checkpoint_after_file_create";
+CREATE TABLE t1(f1 INT NOT NULL)ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+# xtrabackup backup
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+SELECT * FROM t1;
+f1
+1
+DROP TABLE t1;
+SET @@SESSION.DEBUG_DBUG= @save_debug;
+# 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..397a1ff5dc2
--- /dev/null
+++ b/mysql-test/suite/mariabackup/defer_space.test
@@ -0,0 +1,68 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/not_embedded.inc
+--source include/no_valgrind_without_big.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 @save_dbug = @@SESSION.debug_dbug;
+SET DEBUG_DBUG="+d,checkpoint_after_file_create";
+CREATE TABLE t1(f1 INT NOT NULL)ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+
+echo # 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 @@SESSION.DEBUG_DBUG= @save_debug;
+
+--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;
+my $ps = $ENV{INNODB_PAGE_SIZE};
+
+my $file = "$ENV{MYSQLD_DATADIR}/test/t1.ibd";
+open(FILE, "+<$file") || die "Unable to open $file";
+binmode FILE;
+seek (FILE, 0, SEEK_SET) or die "seek";
+print FILE chr(0x00) x $ps;
+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 7f4bdc8bff0..62e4f9c6875 100644
--- a/mysql-test/suite/mariabackup/incremental_backup.test
+++ b/mysql-test/suite/mariabackup/incremental_backup.test
@@ -15,6 +15,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);
if ($test_comp) {
# If MDEV-28474 is not fixed, backup preparing will crash with SIGSEGV.
--disable_query_log
@@ -31,7 +34,7 @@ INSERT INTO t VALUES(1);
echo # Create full backup , modify table, then create incremental/differential backup;
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$basedir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$basedir --throttle=1000;
--enable_result_log
BEGIN;
INSERT INTO t VALUES(0);
diff --git a/mysql-test/suite/mariabackup/incremental_backup_newdb_before_inc.result b/mysql-test/suite/mariabackup/incremental_backup_newdb_before_inc.result
new file mode 100644
index 00000000000..e3f8bb245e7
--- /dev/null
+++ b/mysql-test/suite/mariabackup/incremental_backup_newdb_before_inc.result
@@ -0,0 +1,18 @@
+call mtr.add_suppression("InnoDB: New log files created");
+CREATE TABLE t1 (i INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(0);
+CREATE DATABASE test1;
+CREATE TABLE test1.t1 (a INT) ENGINE=InnoDB;
+INSERT INTO test1.t1 VALUES (1000);
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+SELECT * FROM t1;
+i
+0
+SELECT * FROM test1.t1;
+a
+1000
+DROP TABLE t1;
+DROP DATABASE test1;
diff --git a/mysql-test/suite/mariabackup/incremental_backup_newdb_before_inc.test b/mysql-test/suite/mariabackup/incremental_backup_newdb_before_inc.test
new file mode 100644
index 00000000000..a79d280b668
--- /dev/null
+++ b/mysql-test/suite/mariabackup/incremental_backup_newdb_before_inc.test
@@ -0,0 +1,35 @@
+--source include/have_innodb.inc
+
+call mtr.add_suppression("InnoDB: New log files created");
+
+--let basedir=$MYSQLTEST_VARDIR/tmp/backup
+--let incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1
+
+CREATE TABLE t1 (i INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(0);
+
+--disable_result_log
+--exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=10 --target-dir=$basedir
+--enable_result_log
+
+CREATE DATABASE test1;
+CREATE TABLE test1.t1 (a INT) ENGINE=InnoDB;
+INSERT INTO test1.t1 VALUES (1000);
+
+--disable_result_log
+--exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --parallel=2 --ftwrl-wait-timeout=5 --ftwrl-wait-threshold=300 --ftwrl-wait-query-type=all --target-dir=$incremental_dir --incremental-basedir=$basedir
+--exec $XTRABACKUP --prepare --target-dir=$basedir
+--exec $XTRABACKUP --prepare --target-dir=$basedir --incremental-dir=$incremental_dir
+--enable_result_log
+
+--let $targetdir=$basedir
+--source include/restart_and_restore.inc
+--enable_result_log
+
+SELECT * FROM t1;
+SELECT * FROM test1.t1;
+
+DROP TABLE t1;
+DROP DATABASE test1;
+--rmdir $basedir
+--rmdir $incremental_dir
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 d90ee1566a8..d9c6a72b5ee 100644
--- a/mysql-test/suite/mariabackup/incremental_ddl_during_backup.test
+++ b/mysql-test/suite/mariabackup/incremental_ddl_during_backup.test
@@ -11,6 +11,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/innodb_redo_log_overwrite.test b/mysql-test/suite/mariabackup/innodb_redo_log_overwrite.test
index 22165ff29be..8bbd4e761a6 100644
--- a/mysql-test/suite/mariabackup/innodb_redo_log_overwrite.test
+++ b/mysql-test/suite/mariabackup/innodb_redo_log_overwrite.test
@@ -1,6 +1,7 @@
--source include/have_innodb.inc
--source include/have_debug.inc
--source include/have_sequence.inc
+--source include/no_valgrind_without_big.inc
CREATE TABLE t(i INT) ENGINE=INNODB;
diff --git a/mysql-test/suite/mariabackup/innodb_redo_overwrite.test b/mysql-test/suite/mariabackup/innodb_redo_overwrite.test
index e27229c5f33..1ed75607be8 100644
--- a/mysql-test/suite/mariabackup/innodb_redo_overwrite.test
+++ b/mysql-test/suite/mariabackup/innodb_redo_overwrite.test
@@ -1,5 +1,6 @@
--source include/have_innodb.inc
--source include/have_debug_sync.inc
+--source include/no_valgrind_without_big.inc
CREATE TABLE t(i INT) ENGINE=INNODB;
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 101471002b8..f2a88ea4bdf 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 0bffb406b7e..2b101529039 100644
--- a/mysql-test/suite/mariabackup/log_page_corruption.test
+++ b/mysql-test/suite/mariabackup/log_page_corruption.test
@@ -325,7 +325,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
@@ -349,7 +349,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..16d3ab561f6 100644
--- a/mysql-test/suite/mariabackup/mdev-14447.result
+++ b/mysql-test/suite/mariabackup/mdev-14447.result
@@ -1,13 +1,14 @@
call mtr.add_suppression("InnoDB: New log files created");
+SET GLOBAL innodb_file_per_table=0;
CREATE TABLE t(a varchar(40) PRIMARY KEY, b varchar(40), c varchar(40), d varchar(40), index(b,c,d)) ENGINE INNODB;
# Create full backup , modify table, then create incremental/differential backup
+SET debug_dbug='+d,skip_page_checksum',foreign_key_checks=0,unique_checks=0;
BEGIN;
INSERT INTO t select uuid(), uuid(), uuid(), uuid() from seq_1_to_100000;
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..79a0d075897 100644
--- a/mysql-test/suite/mariabackup/mdev-14447.test
+++ b/mysql-test/suite/mariabackup/mdev-14447.test
@@ -6,6 +6,7 @@ call mtr.add_suppression("InnoDB: New log files created");
let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
let $incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1;
+SET GLOBAL innodb_file_per_table=0;
CREATE TABLE t(a varchar(40) PRIMARY KEY, b varchar(40), c varchar(40), d varchar(40), index(b,c,d)) ENGINE INNODB;
echo # Create full backup , modify table, then create incremental/differential backup;
@@ -13,20 +14,13 @@ echo # Create full backup , modify table, then create incremental/differential b
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
--enable_result_log
+SET debug_dbug='+d,skip_page_checksum',foreign_key_checks=0,unique_checks=0;
BEGIN;
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 3dd5fd0db47..97e1cad222d 100644
--- a/mysql-test/suite/mariabackup/unsupported_redo.test
+++ b/mysql-test/suite/mariabackup/unsupported_redo.test
@@ -3,7 +3,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");
@@ -62,6 +61,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 974e4fe559d..567733edab0 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..be4109965bc
--- /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 COLLATE=latin1_swedish_ci
+ 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 a8020ba5a69..318ec385700 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 25eaf6a5bb2..3d7b19a7f32 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 02360351106..b8cd1fe57fd 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 d86416c5ce5..eb850d6f16c 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 59840ce5cc6..9206bcd72d3 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 fb505045efe..4d4fe8cd2d5 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 5ed08e09a78..f040f266ce0 100644
--- a/mysql-test/suite/parts/r/partition_alter_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter_innodb.result
@@ -68,3 +68,11 @@ CREATE TABLE t1 (c INT) ENGINE=InnoDB PARTITION BY KEY(c) PARTITIONS 4;;
LOCK TABLES t1 WRITE, t1 AS a READ;
ALTER TABLE t1 REBUILD PARTITION p0;
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 48b0d06575a..ab237b595b5 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 95bf31a17fd..b24ce29d028 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 745fddb6e2b..d4ced5e6d6a 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 07f500f2dee..3305802a288 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 COLLATE=latin1_swedish_ci
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci 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 8a5850283d7..27f8f0a9d5c 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 d5a88dba751..0ec36a2c72a 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 daa57b99211..c4c05cc08d3 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 0fd7e49c2b7..935548fce76 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_replication_applier_status_by_worker.result b/mysql-test/suite/perfschema/r/dml_replication_applier_status_by_worker.result
index 2a1552c8453..e61e5a2d0b4 100644
--- a/mysql-test/suite/perfschema/r/dml_replication_applier_status_by_worker.result
+++ b/mysql-test/suite/perfschema/r/dml_replication_applier_status_by_worker.result
@@ -5,23 +5,23 @@ WHERE service_state='YES' OR last_error_message='ERROR';
INSERT INTO performance_schema.replication_applier_status_by_worker
SET service_state='YES', last_error_message='ERROR',
worker_id=1, thread_id=2, last_error_number=1234;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker'
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table `performance_schema`.`replication_applier_status_by_worker`
UPDATE performance_schema.replication_applier_status_by_worker
SET worker_id=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker'
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table `performance_schema`.`replication_applier_status_by_worker`
UPDATE performance_schema.replication_applier_status_by_worker
SET worker_d=12 where service_state like "YES";
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker'
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table `performance_schema`.`replication_applier_status_by_worker`
DELETE FROM performance_schema.replication_applier_status_by_worker
WHERE worker_id=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table `performance_schema`.`replication_applier_status_by_worker`
DELETE FROM performance_schema.replication_applier_status_by_worker;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table `performance_schema`.`replication_applier_status_by_worker`
LOCK TABLES performance_schema.replication_applier_status_by_worker READ;
-ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table `performance_schema`.`replication_applier_status_by_worker`
UNLOCK TABLES;
LOCK TABLES performance_schema.replication_applier_status_by_worker WRITE;
-ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker'
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table `performance_schema`.`replication_applier_status_by_worker`
UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
diff --git a/mysql-test/suite/perfschema/r/dml_setup_instruments.result b/mysql-test/suite/perfschema/r/dml_setup_instruments.result
index d50f0944d54..cdc52da54dc 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 57673383f57..b9e8f2a48e1 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 COLLATE utf8_general_ci */
+performance_schema CREATE DATABASE `performance_schema` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci */
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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/mdl_func.test b/mysql-test/suite/perfschema/t/mdl_func.test
index 7f422a6e870..7aad37ea4d4 100644
--- a/mysql-test/suite/perfschema/t/mdl_func.test
+++ b/mysql-test/suite/perfschema/t/mdl_func.test
@@ -1,5 +1,7 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
+# This test fails very frequently on a Windows builder.
+--source include/not_windows.inc
UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
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 3b57e0826c0..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 -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 29ddaf43263..31ba0245489 100644
--- a/mysql-test/suite/perfschema/t/short_option_1.test
+++ b/mysql-test/suite/perfschema/t/short_option_1.test
@@ -13,8 +13,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/statement_program_concurrency.test b/mysql-test/suite/perfschema/t/statement_program_concurrency.test
index 75261254c00..8229223caec 100644
--- a/mysql-test/suite/perfschema/t/statement_program_concurrency.test
+++ b/mysql-test/suite/perfschema/t/statement_program_concurrency.test
@@ -91,7 +91,9 @@ connection con3;
--reap;
connection default;
---source include/wait_until_connected_again.inc
+
+--let $wait_condition=select count(*)=3 from information_schema.processlist where command='sleep';
+--source include/wait_condition.inc
SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS
FROM performance_schema.events_statements_summary_by_program
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 55ddfac13fb..2b0a97e03d8 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 6739487d9a4..676fa256f95 100644
--- a/mysql-test/suite/period/t/delete.test
+++ b/mysql-test/suite/period/t/delete.test
@@ -68,6 +68,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_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/r/parallel_backup.result b/mysql-test/suite/rpl/r/parallel_backup.result
index 99f43972118..7cf72ed15e4 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;
call mtr.add_suppression("Deadlock found when trying to get lock");
call mtr.add_suppression("Commit failed due to failure of an earlier commit");
@@ -40,14 +41,14 @@ include/stop_slave.inc
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (102);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (101);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (102);
connection master;
XA COMMIT '1';
include/save_master_gtid.inc
@@ -77,14 +78,14 @@ Note 1255 Slave already has been stopped
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (6);
+INSERT INTO t1 VALUES (104);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (5);
+INSERT INTO t1 VALUES (103);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (6);
+INSERT INTO t1 VALUES (104);
connection master;
XA ROLLBACK '1';
include/save_master_gtid.inc
@@ -114,14 +115,14 @@ Note 1255 Slave already has been stopped
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (8);
+INSERT INTO t1 VALUES (106);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (7);
+INSERT INTO t1 VALUES (105);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (8);
+INSERT INTO t1 VALUES (106);
connection master;
XA COMMIT '1';
include/save_master_gtid.inc
@@ -157,14 +158,14 @@ include/stop_slave.inc
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (10);
+INSERT INTO t1 VALUES (108);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (9);
+INSERT INTO t1 VALUES (107);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (10);
+INSERT INTO t1 VALUES (108);
connection master;
XA ROLLBACK '1';
include/save_master_gtid.inc
diff --git a/mysql-test/suite/rpl/r/parallel_backup_lsu_off.result b/mysql-test/suite/rpl/r/parallel_backup_lsu_off.result
index 2c3d8556c27..b89cb154f24 100644
--- a/mysql-test/suite/rpl/r/parallel_backup_lsu_off.result
+++ b/mysql-test/suite/rpl/r/parallel_backup_lsu_off.result
@@ -9,6 +9,7 @@ include/master-slave.inc
#
connection master;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = innodb;
+INSERT INTO t1 VALUES(100);
connection slave;
call mtr.add_suppression("Deadlock found when trying to get lock");
call mtr.add_suppression("Commit failed due to failure of an earlier commit");
@@ -43,14 +44,14 @@ include/stop_slave.inc
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (102);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (101);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (102);
connection master;
XA COMMIT '1';
include/save_master_gtid.inc
@@ -80,14 +81,14 @@ Note 1255 Slave already has been stopped
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (6);
+INSERT INTO t1 VALUES (104);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (5);
+INSERT INTO t1 VALUES (103);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (6);
+INSERT INTO t1 VALUES (104);
connection master;
XA ROLLBACK '1';
include/save_master_gtid.inc
@@ -117,14 +118,14 @@ Note 1255 Slave already has been stopped
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (8);
+INSERT INTO t1 VALUES (106);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (7);
+INSERT INTO t1 VALUES (105);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (8);
+INSERT INTO t1 VALUES (106);
connection master;
XA COMMIT '1';
include/save_master_gtid.inc
@@ -160,14 +161,14 @@ include/stop_slave.inc
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (10);
+INSERT INTO t1 VALUES (108);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (9);
+INSERT INTO t1 VALUES (107);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (10);
+INSERT INTO t1 VALUES (108);
connection master;
XA ROLLBACK '1';
include/save_master_gtid.inc
diff --git a/mysql-test/suite/rpl/r/parallel_backup_slave_binlog_off.result b/mysql-test/suite/rpl/r/parallel_backup_slave_binlog_off.result
index 397a8708caa..111bc7fb76f 100644
--- a/mysql-test/suite/rpl/r/parallel_backup_slave_binlog_off.result
+++ b/mysql-test/suite/rpl/r/parallel_backup_slave_binlog_off.result
@@ -9,6 +9,7 @@ include/master-slave.inc
#
connection master;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = innodb;
+INSERT INTO t1 VALUES(100);
connection slave;
call mtr.add_suppression("Deadlock found when trying to get lock");
call mtr.add_suppression("Commit failed due to failure of an earlier commit");
@@ -43,14 +44,14 @@ include/stop_slave.inc
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (102);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (3);
+INSERT INTO t1 VALUES (101);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (4);
+INSERT INTO t1 VALUES (102);
connection master;
XA COMMIT '1';
include/save_master_gtid.inc
@@ -80,14 +81,14 @@ Note 1255 Slave already has been stopped
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (6);
+INSERT INTO t1 VALUES (104);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (5);
+INSERT INTO t1 VALUES (103);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (6);
+INSERT INTO t1 VALUES (104);
connection master;
XA ROLLBACK '1';
include/save_master_gtid.inc
@@ -117,14 +118,14 @@ Note 1255 Slave already has been stopped
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (8);
+INSERT INTO t1 VALUES (106);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (7);
+INSERT INTO t1 VALUES (105);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (8);
+INSERT INTO t1 VALUES (106);
connection master;
XA COMMIT '1';
include/save_master_gtid.inc
@@ -160,14 +161,14 @@ include/stop_slave.inc
connection master;
connection aux_slave;
BEGIN;
-INSERT INTO t1 VALUES (10);
+INSERT INTO t1 VALUES (108);
connection master;
XA START '1';
-INSERT INTO t1 VALUES (9);
+INSERT INTO t1 VALUES (107);
XA END '1';
XA PREPARE '1';
connection master1;
-INSERT INTO t1 VALUES (10);
+INSERT INTO t1 VALUES (108);
connection master;
XA ROLLBACK '1';
include/save_master_gtid.inc
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 b7019d051e1..b125b6b5c6c 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..5664b7913d2
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_circular_semi_sync.result
@@ -0,0 +1,163 @@
+include/master-slave.inc
+[connection master]
+# Master server_1 and Slave server_2 initialization ...
+connection server_2;
+include/stop_slave.inc
+connection server_1;
+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 semisync link is set up.
+connection server_1;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT default 0) ENGINE=Innodb;
+INSERT INTO t1(a) VALUES (1);
+include/save_master_gtid.inc
+connection server_2;
+include/sync_with_master_gtid.inc
+# Circular configuration server_1 -> server_2 -> server_1 ...
+connection server_1;
+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;
+include/start_slave.inc
+... is done.
+## A. no out-of-order gtid error for own transaction made round trip
+connection server_2;
+set @@global.gtid_strict_mode = true;
+set @@global.rpl_semi_sync_master_enabled = 1;
+INSERT INTO t1(a) VALUES (2);
+include/save_master_gtid.inc
+connection server_1;
+#
+# the successful sync is a required proof
+#
+include/sync_with_master_gtid.inc
+update t1 set b=b+1 where a=2;
+include/save_master_gtid.inc
+connection server_2;
+include/sync_with_master_gtid.inc
+# Post-execution state check on both servers synchronized with each other
+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
+SELECT * from t1;
+a b
+1 0
+2 1
+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
+SELECT * from t1;
+a b
+1 0
+2 1
+## B. out-of-order gtid error for a "foreign" server-id transaction
+connection server_1;
+set statement sql_log_bin=0 for call mtr.add_suppression("Slave: An attempt was made to binlog GTID 10-2-4");
+set @@session.server_id=2;
+INSERT INTO t1(a) VALUES (3);
+set @@session.server_id=default;
+include/save_master_gtid.inc
+connection server_2;
+include/sync_with_master_gtid.inc
+INSERT INTO t1(a) VALUES (4);
+include/save_master_gtid.inc
+connection server_1;
+include/wait_for_slave_sql_error.inc [errno=1950]
+set sql_slave_skip_counter=1;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+connection server_2;
+set statement sql_log_bin=0 for call mtr.add_suppression("Slave: An attempt was made to binlog GTID 20-1-3");
+set @@session.server_id=1;
+INSERT INTO t1(a) VALUES (5);
+set @@session.server_id=default;
+include/save_master_gtid.inc
+connection server_1;
+include/sync_with_master_gtid.inc
+INSERT INTO t1(a) VALUES (6);
+include/save_master_gtid.inc
+connection server_2;
+include/wait_for_slave_sql_error.inc [errno=1950]
+set sql_slave_skip_counter=1;
+include/start_slave.inc
+include/sync_with_master_gtid.inc
+# Post-execution state check on both servers synchronized with each other
+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-5,20-1-3
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-2-1,10-1-5,20-1-3
+SELECT * from t1;
+a b
+1 0
+2 1
+3 0
+4 0
+5 0
+6 0
+connection server_2;
+include/sync_with_master_gtid.inc
+# 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-5,20-1-3
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-2-1,10-1-5,20-1-3
+SELECT * from t1;
+a b
+1 0
+2 1
+3 0
+4 0
+5 0
+6 0
+#
+# Cleanup
+#
+connection server_1;
+DROP TABLE t1;
+include/save_master_gtid.inc
+connection server_2;
+include/sync_with_master_gtid.inc
+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;
+set @@global.gtid_ignore_duplicates = default;
+set @@global.gtid_strict_mode = default;
+connection server_2;
+include/stop_slave.inc
+set @@global.gtid_ignore_duplicates = default;
+set @@global.rpl_semi_sync_master_enabled = default;
+set @@global.rpl_semi_sync_slave_enabled = default;
+set @@global.gtid_strict_mode = default;
+include/start_slave.inc
+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 640aee5633a..491b27252b4 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 39afa8bacf2..9d0b0295b0d 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 COLLATE utf8_general_ci NOT NULL
+ `TABLE_NAME` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 1c8ff2befdc..f3cffb6c4d8 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 COLLATE=utf8_general_ci COMMENT='Slow log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci 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 COLLATE=utf8_general_ci COMMENT='Slow log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci 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_old_master_29078.result b/mysql-test/suite/rpl/r/rpl_old_master_29078.result
index eefa3acc847..731585b2c41 100644
--- a/mysql-test/suite/rpl/r/rpl_old_master_29078.result
+++ b/mysql-test/suite/rpl/r/rpl_old_master_29078.result
@@ -19,8 +19,8 @@ SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
SET @@session.sql_mode=1411383296/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=utf8,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
+/*!\C utf8mb3 *//*!*/;
+SET @@session.character_set_client=utf8mb3,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (f1 timestamp, f2 timestamp)
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_29322.result b/mysql-test/suite/rpl/r/rpl_parallel_29322.result
index 74b8b1fbb66..43d4a717346 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_29322.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_29322.result
@@ -45,8 +45,8 @@ SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
SET @@session.sql_mode=1411383296/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=utf8,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
+/*!\C utf8mb3 *//*!*/;
+SET @@session.character_set_client=utf8mb3,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (f1 timestamp, f2 timestamp)
@@ -138,8 +138,8 @@ SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
SET @@session.sql_mode=1411383296/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
-SET @@session.character_set_client=utf8,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
+/*!\C utf8mb3 *//*!*/;
+SET @@session.character_set_client=utf8mb3,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (f1 timestamp, f2 timestamp)
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_charset.result b/mysql-test/suite/rpl/r/rpl_parallel_charset.result
index 7252883244f..12d03bdc7fe 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 COLLATE utf8_general_ci DEFAULT NULL,
+ `b` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 dde55f4e640..e63212db65e 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 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 COLLATE=utf8_general_ci
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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..8956eee2d2f
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_fail_over.result
@@ -0,0 +1,274 @@
+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_binlog_state';
+Variable_name Value
+gtid_binlog_state 0-1-4,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
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+Variable_name Value
+gtid_binlog_state 0-1-4,0-2-5
+connection server_2;
+#
+# Case:2
+#
+# CRASH the new master, and FAILOVER back to the original
+# SET STATEMENT server_id=1 FOR 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-1-6 (Not commited) | 0-1-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";
+SET STATEMENT server_id=1 FOR INSERT INTO t1 VALUES (4, REPEAT("x", 4100));
+connect conn_client_2,127.0.0.1,root,,test,$SERVER_MYPORT_2,;
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+SET GLOBAL debug_dbug="d,Notify_binlog_EOF";
+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.* to remove transactions starting from GTID 0-1-6/ 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-1-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_binlog_state';
+Variable_name Value
+gtid_binlog_state 0-2-7,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
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+Variable_name Value
+gtid_binlog_state 0-2-7,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.]
+FOUND 1 /truncated binlog file:.*master.*000002.* to remove transactions starting from GTID 0-1-9/ in mysqld.1.err
+disconnect conn_client;
+connection server_2;
+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_binlog_state';
+Variable_name Value
+gtid_binlog_state 0-1-9,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
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+Variable_name Value
+gtid_binlog_state 0-1-9,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 315714f6de6..2d869787c2b 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 3628d241ecb..4f5ffa9f291 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
call mtr.add_suppression("Deadlock found when trying to get lock");
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..267fa621945
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_circular_semi_sync.test
@@ -0,0 +1,188 @@
+# ==== References ====
+#
+# MDEV-27760 event may non stop replicate in circular semisync setup
+# MDEV-28609 refine gtid-strict-mode to ignore same server-id gtid from the past
+# on semisync slave
+--source include/have_innodb.inc
+--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
+
+# The following tests prove
+# A.
+# no out-of-order gtid error is done to the stict gtid mode semisync
+# slave receives the same server-id gtid event from the past (of its gtid
+# state). Such transaction is silently ignored similarly to
+# replicate_same_sever_id; and
+# B.
+# In contrast to A. the out-of-order gtid error is thrown when a "foreign"
+# server-id transaction makes its round-trip to the originator server.
+
+--echo # Master server_1 and Slave server_2 initialization ...
+--connection server_2
+--source include/stop_slave.inc
+
+# Initial master
+--connection server_1
+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 semisync link is set up.
+
+--connection server_1
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT default 0) ENGINE=Innodb;
+INSERT INTO t1(a) VALUES (1);
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+
+--echo # Circular configuration server_1 -> server_2 -> server_1 ...
+--connection server_1
+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;
+--source include/start_slave.inc
+--echo ... is done.
+
+--echo ## A. no out-of-order gtid error for own transaction made round trip
+
+# A0. server_1 has already originated the transaction
+--let $wait_condition=select @@gtid_slave_pos=@@gtid_binlog_pos
+--source include/wait_condition.inc
+
+# A1. server_2 originates
+--connection server_2
+set @@global.gtid_strict_mode = true;
+set @@global.rpl_semi_sync_master_enabled = 1;
+INSERT INTO t1(a) VALUES (2);
+--source include/save_master_gtid.inc
+
+--connection server_1
+--echo #
+--echo # the successful sync is a required proof
+--echo #
+--source include/sync_with_master_gtid.inc
+# A2. server_1 is originating now
+update t1 set b=b+1 where a=2;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+
+--echo # Post-execution state check on both servers synchronized with each other
+--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';
+SELECT * from t1;
+
+--connection server_2
+--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';
+SELECT * from t1;
+
+--echo ## B. out-of-order gtid error for a "foreign" server-id transaction
+# B1. circulation starts from server_1
+
+--connection server_1
+set statement sql_log_bin=0 for call mtr.add_suppression("Slave: An attempt was made to binlog GTID 10-2-4");
+set @@session.server_id=2;
+INSERT INTO t1(a) VALUES (3);
+set @@session.server_id=default;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+INSERT INTO t1(a) VALUES (4);
+--source include/save_master_gtid.inc
+
+--connection server_1
+--let $slave_sql_errno = 1950
+--source include/wait_for_slave_sql_error.inc
+set sql_slave_skip_counter=1;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+
+# B2. circulation starts from server_2
+--connection server_2
+set statement sql_log_bin=0 for call mtr.add_suppression("Slave: An attempt was made to binlog GTID 20-1-3");
+set @@session.server_id=1;
+INSERT INTO t1(a) VALUES (5);
+set @@session.server_id=default;
+--source include/save_master_gtid.inc
+
+--connection server_1
+--source include/sync_with_master_gtid.inc
+INSERT INTO t1(a) VALUES (6);
+--source include/save_master_gtid.inc
+
+
+--connection server_2
+--let $slave_sql_errno = 1950
+--source include/wait_for_slave_sql_error.inc
+set sql_slave_skip_counter=1;
+--source include/start_slave.inc
+--source include/sync_with_master_gtid.inc
+
+--echo # Post-execution state check on both servers synchronized with each other
+--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';
+SELECT * from t1;
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+--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';
+SELECT * from t1;
+
+--echo #
+--echo # Cleanup
+--echo #
+--connection server_1
+DROP TABLE t1;
+--source include/save_master_gtid.inc
+
+--connection server_2
+--source include/sync_with_master_gtid.inc
+
+--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;
+set @@global.gtid_ignore_duplicates = default;
+set @@global.gtid_strict_mode = default;
+
+--connection server_2
+--source include/stop_slave.inc
+set @@global.gtid_ignore_duplicates = default;
+set @@global.rpl_semi_sync_master_enabled = default;
+set @@global.rpl_semi_sync_slave_enabled = default;
+set @@global.gtid_strict_mode = default;
+--source include/start_slave.inc
+
+--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 5d0d39cadce..2cf184a3401 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 962ce3f0135..c8b9e665747 100644
--- a/mysql-test/suite/rpl/t/rpl_mdev12179.test
+++ b/mysql-test/suite/rpl/t/rpl_mdev12179.test
@@ -286,8 +286,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_gco_wait_kill.test b/mysql-test/suite/rpl/t/rpl_parallel_gco_wait_kill.test
index d918b2ea692..c5d2b85cf34 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_gco_wait_kill.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_gco_wait_kill.test
@@ -26,6 +26,9 @@ 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/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_parallel_slave_bgc_kill.test b/mysql-test/suite/rpl/t/rpl_parallel_slave_bgc_kill.test
index a78dbad052f..efb998b0443 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_slave_bgc_kill.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_slave_bgc_kill.test
@@ -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/t/rpl_parallel_stop_slave.test b/mysql-test/suite/rpl/t/rpl_parallel_stop_slave.test
index 4eeddc927e0..35879e98e66 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_stop_slave.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_stop_slave.test
@@ -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/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..6a691ae04f6
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.test
@@ -0,0 +1,221 @@
+# ==== References ====
+#
+# MDEV-21117 recovery for --rpl-semi-sync-slave-enabled server
+# MDEV-27760 event may non stop replicate in circular semisync setup
+#
+
+--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_binlog_state';
+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';
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+
+--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
+# Additionally through "foreign" server_id verify MDEV-27760's acceptance
+# policy on the recient (to be promoted into master) server.
+--let $query_to_crash = SET STATEMENT server_id=1 FOR 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-1-6 (Not commited) | 0-1-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.* to remove transactions starting from GTID 0-1-6
+--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-1-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_binlog_state';
+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';
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+
+--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.*000002.* to remove transactions starting from GTID 0-1-9
+--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_binlog_state';
+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';
+SHOW VARIABLES LIKE 'gtid_binlog_state';
+
+--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 fb378e09a5c..1a931b71e01 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 513dd397a17..5efde8415fb 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 bc411be9cf6..9face3ec947 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 c32fc4042f4..9326d7016c9 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..7e549157c81
--- /dev/null
+++ b/mysql-test/suite/stress/r/deadlock_drop_table.result
@@ -0,0 +1,33 @@
+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 go3';
+drop table t1;;
+connection con2;
+set debug_sync='now WAIT_FOR waiting';
+set debug_sync='now SIGNAL go2';
+set debug_sync='now SIGNAL go3';
+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..b4f8f2201e0
--- /dev/null
+++ b/mysql-test/suite/stress/t/deadlock_drop_table.test
@@ -0,0 +1,37 @@
+--source include/have_debug.inc
+--source include/have_debug_sync.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 go3';
+--send drop table t1;
+--connection con2
+set debug_sync='now WAIT_FOR waiting';
+set debug_sync='now SIGNAL go2';
+set debug_sync='now SIGNAL go3';
+
+--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 83a041cc152..b1c2db1efc2 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 COLLATE utf8_general_ci */
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci */
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 COLLATE=utf8_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
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 beb827e90c7..e1e68da78e7 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 COLLATE utf8_general_ci */
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci */
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 COLLATE utf8_general_ci */
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci */
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 COLLATE ascii_gen
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 08e7aad6e24..01b3ca6ff2e 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,13 +27,13 @@ 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) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_roman_ci
+) 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));
@@ -41,17 +41,17 @@ SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` char(10) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_roman_ci
+) 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 f0a213d2dbe..37b0c0a815a 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/debug_sync_basic.result b/mysql-test/suite/sys_vars/r/debug_sync_basic.result
index 6ebb46dd662..11506cac2c2 100644
--- a/mysql-test/suite/sys_vars/r/debug_sync_basic.result
+++ b/mysql-test/suite/sys_vars/r/debug_sync_basic.result
@@ -2,17 +2,17 @@ select @@global.debug_sync;
ERROR HY000: Variable 'debug_sync' is a SESSION variable
select @@session.debug_sync;
@@session.debug_sync
-ON - current signal: ''
+ON - current signals: ''
show global variables like "debug_sync";
Variable_name Value
show session variables like "debug_sync";
Variable_name Value
-debug_sync ON - current signal: ''
+debug_sync ON - current signals: ''
select * from information_schema.global_variables where variable_name="debug_sync";
VARIABLE_NAME VARIABLE_VALUE
select * from information_schema.session_variables where variable_name="debug_sync";
VARIABLE_NAME VARIABLE_VALUE
-DEBUG_SYNC ON - current signal: ''
+DEBUG_SYNC ON - current signals: ''
set @@session.debug_sync=1;
ERROR 42000: Incorrect argument type to variable 'debug_sync'
set @@session.debug_sync=1.1;
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_debug.result b/mysql-test/suite/sys_vars/r/sysvars_debug.result
index 0d77b0211a1..fc04ac83210 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_debug.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_debug.result
@@ -77,7 +77,7 @@ READ_ONLY YES
COMMAND_LINE_ARGUMENT OPTIONAL
GLOBAL_VALUE_PATH NULL
VARIABLE_NAME DEBUG_SYNC
-SESSION_VALUE ON - current signal: ''
+SESSION_VALUE ON - current signals: ''
GLOBAL_VALUE NULL
GLOBAL_VALUE_ORIGIN COMPILE-TIME
DEFAULT_VALUE
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 fd8e66d0c18..3eb3f52bd0f 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 e60ff4c1ebf..ff87672bfa3 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
@@ -1175,7 +1185,7 @@ COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME GTID_STRICT_MODE
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BOOLEAN
-VARIABLE_COMMENT Enforce strict seq_no ordering of events in the binary log. Slave stops with an error if it encounters an event that would cause it to generate an out-of-order binlog if executed.
+VARIABLE_COMMENT Enforce strict seq_no ordering of events in the binary log. Slave stops with an error if it encounters an event that would cause it to generate an out-of-order binlog if executed. When ON the same server-id semisync-replicated transactions that duplicate exising ones in binlog are ignored without error and slave interruption.
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
@@ -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..6c584e190f1 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,BF_ABORT_MARIABACKUP
+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 6f67d7292dc..b1b2f9fdda9 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/innodb/disabled.def b/mysql-test/suite/sysschema/disabled.def
index 35c941f8af7..62df96a4663 100644
--- a/mysql-test/suite/innodb/disabled.def
+++ b/mysql-test/suite/sysschema/disabled.def
@@ -9,5 +9,4 @@
# Do not use any TAB characters for whitespace.
#
##############################################################################
-
-create-index-debug : MDEV-13680 InnoDB may crash when btr_page_alloc() fails
+pr_statement_performance_analyzer : MDEV-29822 perfschema specific and Windows specific problems.
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..8c0e8dfa957
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_create_synonym_db.result
@@ -0,0 +1,66 @@
+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`;
+#
+# MDEV-28342: sys.create_synonym_db fails
+# when a temporary table masks a base table
+#
+create database db;
+use db;
+create table a(a int);
+create table t (b int);
+create table b(a int);
+create temporary table b (a int);
+call sys.create_synonym_db('db','db_copy');
+ERROR HY000: Table`db`.`b`shadows base table. View cannot be created! Terminating!
+drop database db;
+drop database db_copy;
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..5cedd97066f
--- /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 COLLATE=latin1_swedish_ci
+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..998546651ee
--- /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 COLLATE=latin1_swedish_ci
+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..30c6f502e30
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_create_synonym_db.test
@@ -0,0 +1,69 @@
+########### 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`;
+
+--echo #
+--echo # MDEV-28342: sys.create_synonym_db fails
+--echo # when a temporary table masks a base table
+--echo #
+
+create database db;
+use db;
+create table a(a int);
+create table t (b int);
+create table b(a int);
+create temporary table b (a int);
+--error ER_SIGNAL_EXCEPTION
+call sys.create_synonym_db('db','db_copy');
+
+drop database db;
+drop database db_copy;
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 f71de073974..2e15c50263b 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 5a15f88125e..5e68d4df2e8 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 7599f2f0fbd..9beec414fbb 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 a395f0cedb5..607aa8d603a 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 f266c668105..c94cff540c6 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 1229d42a4e5..535e791c8c8 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
@@ -1544,6 +1546,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