Merge 10.2 into 10.3
This commit is contained in:
commit
4901f31c13
@ -51,6 +51,36 @@ static void add_to_plugin_load_list(const char *plugin_def)
|
|||||||
|
|
||||||
static char XTRABACKUP_EXE[] = "xtrabackup";
|
static char XTRABACKUP_EXE[] = "xtrabackup";
|
||||||
|
|
||||||
|
/*
|
||||||
|
Read "plugin-load" value (encryption plugin) from backup-my.cnf during
|
||||||
|
prepare phase.
|
||||||
|
The value is stored during backup phase.
|
||||||
|
*/
|
||||||
|
static std::string get_encryption_plugin_from_cnf()
|
||||||
|
{
|
||||||
|
FILE *f = fopen("backup-my.cnf", "r");
|
||||||
|
if (!f)
|
||||||
|
{
|
||||||
|
msg("cannot open backup-my.cnf for reading\n");
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
char line[512];
|
||||||
|
std::string plugin_load;
|
||||||
|
while (fgets(line, sizeof(line), f))
|
||||||
|
{
|
||||||
|
if (strncmp(line, "plugin_load=", 12) == 0)
|
||||||
|
{
|
||||||
|
plugin_load = line + 12;
|
||||||
|
// remote \n at the end of string
|
||||||
|
plugin_load.resize(plugin_load.size() - 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose(f);
|
||||||
|
return plugin_load;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void encryption_plugin_backup_init(MYSQL *mysql)
|
void encryption_plugin_backup_init(MYSQL *mysql)
|
||||||
{
|
{
|
||||||
MYSQL_RES *result;
|
MYSQL_RES *result;
|
||||||
@ -78,7 +108,17 @@ void encryption_plugin_backup_init(MYSQL *mysql)
|
|||||||
|
|
||||||
std::string plugin_load(name);
|
std::string plugin_load(name);
|
||||||
if (library)
|
if (library)
|
||||||
|
{
|
||||||
|
/* Remove shared library suffixes, in case we'll prepare on different OS.*/
|
||||||
|
const char *extensions[] = { ".dll", ".so", 0 };
|
||||||
|
for (size_t i = 0; extensions[i]; i++)
|
||||||
|
{
|
||||||
|
const char *ext = extensions[i];
|
||||||
|
if (ends_with(library, ext))
|
||||||
|
library[strlen(library) - strlen(ext)] = 0;
|
||||||
|
}
|
||||||
plugin_load += std::string("=") + library;
|
plugin_load += std::string("=") + library;
|
||||||
|
}
|
||||||
|
|
||||||
oss << "plugin_load=" << plugin_load << std::endl;
|
oss << "plugin_load=" << plugin_load << std::endl;
|
||||||
|
|
||||||
@ -140,14 +180,18 @@ extern int finalize_encryption_plugin(st_plugin_int *plugin);
|
|||||||
|
|
||||||
void encryption_plugin_prepare_init(int argc, char **argv)
|
void encryption_plugin_prepare_init(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
std::string plugin_load= get_encryption_plugin_from_cnf();
|
||||||
if (!xb_plugin_load)
|
if (plugin_load.size())
|
||||||
|
{
|
||||||
|
msg("Loading encryption plugin from %s\n", plugin_load.c_str());
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
finalize_encryption_plugin(0);
|
finalize_encryption_plugin(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
add_to_plugin_load_list(xb_plugin_load);
|
add_to_plugin_load_list(plugin_load.c_str());
|
||||||
|
|
||||||
if (xb_plugin_dir)
|
if (xb_plugin_dir)
|
||||||
strncpy(opt_plugin_dir, xb_plugin_dir, FN_REFLEN);
|
strncpy(opt_plugin_dir, xb_plugin_dir, FN_REFLEN);
|
||||||
|
@ -709,7 +709,6 @@ enum options_xtrabackup
|
|||||||
OPT_INNODB_LOG_CHECKSUMS,
|
OPT_INNODB_LOG_CHECKSUMS,
|
||||||
OPT_XTRA_INCREMENTAL_FORCE_SCAN,
|
OPT_XTRA_INCREMENTAL_FORCE_SCAN,
|
||||||
OPT_DEFAULTS_GROUP,
|
OPT_DEFAULTS_GROUP,
|
||||||
OPT_PLUGIN_LOAD,
|
|
||||||
OPT_INNODB_ENCRYPT_LOG,
|
OPT_INNODB_ENCRYPT_LOG,
|
||||||
OPT_CLOSE_FILES,
|
OPT_CLOSE_FILES,
|
||||||
OPT_CORE_FILE,
|
OPT_CORE_FILE,
|
||||||
@ -1268,11 +1267,7 @@ struct my_option xb_server_options[] =
|
|||||||
&xb_plugin_dir, &xb_plugin_dir,
|
&xb_plugin_dir, &xb_plugin_dir,
|
||||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
|
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
|
||||||
|
|
||||||
{ "plugin-load", OPT_PLUGIN_LOAD, "encrypton plugin to load during 'prepare' phase.",
|
{ "innodb-encrypt-log", OPT_INNODB_ENCRYPT_LOG, "Whether to encrypt innodb log",
|
||||||
&xb_plugin_load, &xb_plugin_load,
|
|
||||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
|
|
||||||
|
|
||||||
{ "innodb-encrypt-log", OPT_INNODB_ENCRYPT_LOG, "encrypton plugin to load",
|
|
||||||
&srv_encrypt_log, &srv_encrypt_log,
|
&srv_encrypt_log, &srv_encrypt_log,
|
||||||
0, GET_BOOL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
|
0, GET_BOOL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
|
||||||
|
|
||||||
|
591
mysql-test/collections/10.0-compatible.list
Normal file
591
mysql-test/collections/10.0-compatible.list
Normal file
@ -0,0 +1,591 @@
|
|||||||
|
main.1st
|
||||||
|
main.adddate_454
|
||||||
|
main.almost_full
|
||||||
|
main.alter_table_autoinc-5574
|
||||||
|
main.alter_table_errors
|
||||||
|
main.alter_table_mdev539_maria
|
||||||
|
main.alter_table_mdev539_myisam
|
||||||
|
main.alter_table_online
|
||||||
|
main.alter_table_trans
|
||||||
|
main.analyze
|
||||||
|
main.analyze_stmt
|
||||||
|
main.analyze_stmt_orderby
|
||||||
|
main.analyze_stmt_slow_query_log
|
||||||
|
main.ansi
|
||||||
|
main.assign_key_cache
|
||||||
|
main.auth_rpl
|
||||||
|
main.auto_increment
|
||||||
|
main.auto_increment_ranges_innodb
|
||||||
|
main.auto_increment_ranges_myisam
|
||||||
|
main.bad_frm_crash_5029
|
||||||
|
main.bench_count_distinct
|
||||||
|
main.bigint
|
||||||
|
main.binary
|
||||||
|
main.binary_to_hex
|
||||||
|
main.blackhole
|
||||||
|
main.blackhole_plugin
|
||||||
|
main.bool
|
||||||
|
main.bootstrap
|
||||||
|
main.bug12427262
|
||||||
|
main.bug13633383
|
||||||
|
main.bug46760
|
||||||
|
main.bug47671
|
||||||
|
main.bulk_replace
|
||||||
|
main.case
|
||||||
|
main.change_user
|
||||||
|
main.check_constraint_show
|
||||||
|
main.client_xml
|
||||||
|
main.comment_column
|
||||||
|
main.comment_column2
|
||||||
|
main.comment_index
|
||||||
|
main.comments
|
||||||
|
main.comment_table
|
||||||
|
main.commit_1innodb
|
||||||
|
main.compare
|
||||||
|
main.compound
|
||||||
|
main.contributors
|
||||||
|
main.count_distinct
|
||||||
|
main.count_distinct2
|
||||||
|
main.create_drop_db
|
||||||
|
main.create_drop_event
|
||||||
|
main.create_drop_function
|
||||||
|
main.create_drop_index
|
||||||
|
main.create_drop_procedure
|
||||||
|
main.create_drop_server
|
||||||
|
main.create_drop_trigger
|
||||||
|
main.create_drop_user
|
||||||
|
main.create_drop_view
|
||||||
|
main.create_not_windows
|
||||||
|
main.create_select_tmp
|
||||||
|
main.create-uca
|
||||||
|
main.create_user
|
||||||
|
main.create_w_max_indexes_64
|
||||||
|
main.ctype_ascii
|
||||||
|
main.ctype_big5
|
||||||
|
main.ctype_binary
|
||||||
|
main.ctype_collate
|
||||||
|
main.ctype_cp1250_ch
|
||||||
|
main.ctype_cp1251
|
||||||
|
main.ctype_cp850
|
||||||
|
main.ctype_cp932
|
||||||
|
main.ctype_cp932_binlog_row
|
||||||
|
main.ctype_cp932_binlog_stm
|
||||||
|
main.ctype_create
|
||||||
|
main.ctype_eucjpms
|
||||||
|
main.ctype_euckr
|
||||||
|
main.ctype_filename
|
||||||
|
main.ctype_filesystem
|
||||||
|
main.ctype_gb2312
|
||||||
|
main.ctype_gbk
|
||||||
|
main.ctype_gbk_binlog
|
||||||
|
main.ctype_gbk_export_import
|
||||||
|
main.ctype_hebrew
|
||||||
|
main.ctype_latin1
|
||||||
|
main.ctype_latin1_de
|
||||||
|
main.ctype_latin2
|
||||||
|
main.ctype_latin2_ch
|
||||||
|
main.ctype_ldml
|
||||||
|
main.ctype_many
|
||||||
|
main.ctype_mb
|
||||||
|
main.ctype_nopad_8bit
|
||||||
|
main.ctype_partitions
|
||||||
|
main.ctype_recoding
|
||||||
|
main.ctype_sjis
|
||||||
|
main.ctype_swe7
|
||||||
|
main.ctype_tis620
|
||||||
|
main.ctype_uca
|
||||||
|
main.ctype_uca_innodb
|
||||||
|
main.ctype_uca_partitions
|
||||||
|
main.ctype_ucs
|
||||||
|
main.ctype_ucs2_def
|
||||||
|
main.ctype_ucs2_query_cache
|
||||||
|
main.ctype_ucs2_uca
|
||||||
|
main.ctype_ujis
|
||||||
|
main.ctype_ujis_ucs2
|
||||||
|
main.ctype_upgrade
|
||||||
|
main.ctype_utf16
|
||||||
|
main.ctype_utf16_def
|
||||||
|
main.ctype_utf16le
|
||||||
|
main.ctype_utf16_uca
|
||||||
|
main.ctype_utf32
|
||||||
|
main.ctype_utf32_uca
|
||||||
|
main.ctype_utf8
|
||||||
|
main.ctype_utf8mb4
|
||||||
|
main.ctype_utf8mb4_heap
|
||||||
|
main.ctype_utf8mb4_innodb
|
||||||
|
main.ctype_utf8mb4_myisam
|
||||||
|
main.ctype_utf8mb4_uca
|
||||||
|
main.ctype_utf8_uca
|
||||||
|
main.date_formats
|
||||||
|
main.datetime_456
|
||||||
|
main.default_storage_engine
|
||||||
|
main.delete
|
||||||
|
main.delete_returning
|
||||||
|
main.deprecated_features
|
||||||
|
main.derived_cond_pushdown
|
||||||
|
main.derived_opt
|
||||||
|
main.derived_view
|
||||||
|
main.distinct
|
||||||
|
main.drop-no_root
|
||||||
|
main.dyncol
|
||||||
|
main.empty_server_name-8224
|
||||||
|
main.empty_table
|
||||||
|
main.endspace
|
||||||
|
main.enforce_storage_engine_opt
|
||||||
|
main.errors
|
||||||
|
main.events_2
|
||||||
|
main.events_logs_tests
|
||||||
|
main.events_microsec
|
||||||
|
main.events_restart
|
||||||
|
main.events_scheduling
|
||||||
|
main.events_slowlog
|
||||||
|
main.events_trans
|
||||||
|
main.execution_constants
|
||||||
|
main.explain
|
||||||
|
main.explain_json
|
||||||
|
main.explain_json_format_partitions
|
||||||
|
main.explain_json_innodb
|
||||||
|
main.explain_non_select
|
||||||
|
main.ext_key_noPK_6794
|
||||||
|
main.fast_prefix_index_fetch_innodb
|
||||||
|
main.features
|
||||||
|
main.filesort_bad_i_s-7585
|
||||||
|
main.flush2
|
||||||
|
main.foreign_key
|
||||||
|
main.frm_bad_row_type-7333
|
||||||
|
main.fulltext
|
||||||
|
main.fulltext2
|
||||||
|
main.fulltext3
|
||||||
|
main.fulltext_cache
|
||||||
|
main.fulltext_charsets
|
||||||
|
main.fulltext_derived_4257
|
||||||
|
main.fulltext_derived_4316
|
||||||
|
main.fulltext_distinct
|
||||||
|
main.fulltext_left_join
|
||||||
|
main.fulltext_multi
|
||||||
|
main.fulltext_order_by
|
||||||
|
main.fulltext_update
|
||||||
|
main.fulltext_var
|
||||||
|
main.func_analyse
|
||||||
|
main.func_concat
|
||||||
|
main.func_crypt
|
||||||
|
main.func_date_add
|
||||||
|
main.func_default
|
||||||
|
main.func_des_encrypt
|
||||||
|
main.func_digest
|
||||||
|
main.func_encrypt
|
||||||
|
main.func_encrypt_ucs2
|
||||||
|
main.func_equal
|
||||||
|
main.func_gconcat
|
||||||
|
main.func_group_innodb
|
||||||
|
main.func_hybrid_type
|
||||||
|
main.func_if
|
||||||
|
main.func_in
|
||||||
|
main.func_isnull
|
||||||
|
main.func_like
|
||||||
|
main.func_math
|
||||||
|
main.func_op
|
||||||
|
main.func_regexp
|
||||||
|
main.func_regexp_pcre
|
||||||
|
main.func_rollback
|
||||||
|
main.func_sapdb
|
||||||
|
main.func_set
|
||||||
|
main.func_system
|
||||||
|
main.func_test
|
||||||
|
main.func_time
|
||||||
|
main.func_time_hires
|
||||||
|
main.func_timestamp
|
||||||
|
main.function_defaults
|
||||||
|
main.function_defaults_innodb
|
||||||
|
main.gcc296
|
||||||
|
main.get_diagnostics
|
||||||
|
main.gis
|
||||||
|
main.gis2
|
||||||
|
main.gis-alter_table_online
|
||||||
|
main.gis-precise
|
||||||
|
main.gis-rt-precise
|
||||||
|
main.gis-rtree
|
||||||
|
main.grant_4332
|
||||||
|
main.greedy_optimizer
|
||||||
|
main.group_by
|
||||||
|
main.group_by_innodb
|
||||||
|
main.group_by_null
|
||||||
|
main.group_min_max
|
||||||
|
main.group_min_max_innodb
|
||||||
|
main.handler_read_last
|
||||||
|
main.handlersocket
|
||||||
|
main.having
|
||||||
|
main.help
|
||||||
|
main.host_cache_size_functionality
|
||||||
|
main.huge_frm-6224
|
||||||
|
main.implicit_char_to_num_conversion
|
||||||
|
main.implicit_commit
|
||||||
|
main.in_datetime_241
|
||||||
|
main.index_intersect
|
||||||
|
main.index_intersect_innodb
|
||||||
|
main.index_merge_innodb
|
||||||
|
main.index_merge_myisam
|
||||||
|
main.information_schema2
|
||||||
|
main.information_schema_all_engines
|
||||||
|
main.information_schema_chmod
|
||||||
|
main.information_schema_inno
|
||||||
|
main.information_schema_parameters
|
||||||
|
main.information_schema_part
|
||||||
|
main.information_schema_routines
|
||||||
|
main.information_schema_stats
|
||||||
|
main.init_file
|
||||||
|
main.init_file_longline_3816
|
||||||
|
main.init_file_set_password-7656
|
||||||
|
main.innodb_bug878769
|
||||||
|
main.innodb_ext_key
|
||||||
|
main.innodb_group
|
||||||
|
main.innodb_icp
|
||||||
|
main.innodb_ignore_builtin
|
||||||
|
main.innodb_mrr_cpk
|
||||||
|
main.innodb_utf8
|
||||||
|
main.insert
|
||||||
|
main.insert_innodb
|
||||||
|
main.insert_select
|
||||||
|
main.insert_update
|
||||||
|
main.insert_update_autoinc-7150
|
||||||
|
main.join
|
||||||
|
main.join_cache
|
||||||
|
main.join_crash
|
||||||
|
main.join_nested
|
||||||
|
main.join_nested_jcl6
|
||||||
|
main.join_optimizer
|
||||||
|
main.join_outer
|
||||||
|
main.join_outer_innodb
|
||||||
|
main.join_outer_jcl6
|
||||||
|
main.key
|
||||||
|
main.key_cache
|
||||||
|
main.key_diff
|
||||||
|
main.key_primary
|
||||||
|
main.keyread
|
||||||
|
main.keywords
|
||||||
|
main.last_value
|
||||||
|
main.limit
|
||||||
|
main.limit_rows_examined
|
||||||
|
main.loaddata_autocom_innodb
|
||||||
|
main.locale
|
||||||
|
main.log_errchk
|
||||||
|
main.log_slow
|
||||||
|
main.log_state_bug33693
|
||||||
|
main.log_tables_upgrade
|
||||||
|
main.long_tmpdir
|
||||||
|
main.lowercase_mixed_tmpdir
|
||||||
|
main.lowercase_table
|
||||||
|
main.lowercase_table5
|
||||||
|
main.lowercase_table_grant
|
||||||
|
main.lowercase_table_qcache
|
||||||
|
main.lowercase_utf8
|
||||||
|
main.lowercase_view
|
||||||
|
main.mdev13607
|
||||||
|
main.mdev_14586
|
||||||
|
main.mdev316
|
||||||
|
main.mdl
|
||||||
|
main.merge_innodb
|
||||||
|
main.merge_mmap
|
||||||
|
main.metadata
|
||||||
|
main.mix2_myisam_ucs2
|
||||||
|
main.mrr_derived_crash_4610
|
||||||
|
main.mrr_icp_extra
|
||||||
|
main.multi_statement
|
||||||
|
main.multi_update2
|
||||||
|
main.multi_update_innodb
|
||||||
|
main.multi_update_tiny_hash
|
||||||
|
main.myisam-blob
|
||||||
|
main.myisam_enable_keys-10506
|
||||||
|
main.myisam_explain_non_select_all
|
||||||
|
main.myisam_icp
|
||||||
|
main.myisam_mrr
|
||||||
|
main.myisampack
|
||||||
|
main.myisam-system
|
||||||
|
main.mysql
|
||||||
|
main.mysql5613mysql
|
||||||
|
main.mysql57_virtual
|
||||||
|
main.mysqladmin
|
||||||
|
main.mysql_binary_mode
|
||||||
|
main.mysqlcheck
|
||||||
|
main.mysql_comments
|
||||||
|
main.mysql_cp932
|
||||||
|
main.mysqld--defaults-file
|
||||||
|
main.mysqld--help
|
||||||
|
main.mysqld_help_crash-9183
|
||||||
|
main.mysqld_option_err
|
||||||
|
main.mysqldump-compat
|
||||||
|
main.mysqldump-nl
|
||||||
|
main.mysqldump-no-binlog
|
||||||
|
main.mysqldump_restore
|
||||||
|
main.mysql_not_windows
|
||||||
|
main.mysql_protocols
|
||||||
|
main.mysqlshow
|
||||||
|
main.mysqlslap
|
||||||
|
main.mysqltest_256
|
||||||
|
main.mysqltest_cont_on_error
|
||||||
|
main.mysql_tzinfo_to_sql_symlink
|
||||||
|
main.mysql_upgrade_noengine
|
||||||
|
main.mysql_upgrade_no_innodb
|
||||||
|
main.mysql_upgrade_ssl
|
||||||
|
main.mysql_upgrade_view
|
||||||
|
main.negation_elimination
|
||||||
|
main.no_binlog
|
||||||
|
main.no_password_column-mdev-11170
|
||||||
|
main.null
|
||||||
|
main.null_key
|
||||||
|
main.odbc
|
||||||
|
main.olap
|
||||||
|
main.old-mode
|
||||||
|
main.order_by
|
||||||
|
main.order_by_innodb
|
||||||
|
main.order_by-mdev-10122
|
||||||
|
main.order_by_optimizer
|
||||||
|
main.order_by_optimizer_innodb
|
||||||
|
main.order_by_sortkey
|
||||||
|
main.order_by_zerolength-4285
|
||||||
|
main.order_fill_sortbuf
|
||||||
|
main.outfile_loaddata
|
||||||
|
main.parser
|
||||||
|
main.parser_bug21114_innodb
|
||||||
|
main.parser_precedence
|
||||||
|
main.parser_stack
|
||||||
|
main.partition
|
||||||
|
main.partition_binlog
|
||||||
|
main.partition_binlog_stmt
|
||||||
|
main.partition_blackhole
|
||||||
|
main.partition_bug18198
|
||||||
|
main.partition_cache_innodb
|
||||||
|
main.partition_cache_myisam
|
||||||
|
main.partition_charset
|
||||||
|
main.partition_column
|
||||||
|
main.partition_column_prune
|
||||||
|
main.partition_datatype
|
||||||
|
main.partition_disabled
|
||||||
|
main.partition_error
|
||||||
|
main.partition_example
|
||||||
|
main.partition_exchange
|
||||||
|
main.partition_explicit_prune
|
||||||
|
main.partition_hash
|
||||||
|
main.partition_key_cache
|
||||||
|
main.partition_list
|
||||||
|
main.partition_mgm
|
||||||
|
main.partition_mgm_err
|
||||||
|
main.partition_mgm_err2
|
||||||
|
main.partition_myisam
|
||||||
|
main.partition_not_blackhole
|
||||||
|
main.partition_not_windows
|
||||||
|
main.partition_order
|
||||||
|
main.partition_pruning
|
||||||
|
main.partition_range
|
||||||
|
main.partition_rename_longfilename
|
||||||
|
main.partition_truncate
|
||||||
|
main.partition_utf8
|
||||||
|
main.perror
|
||||||
|
main.plugin
|
||||||
|
main.plugin_auth_qa
|
||||||
|
main.plugin_auth_qa_2
|
||||||
|
main.plugin_auth_qa_3
|
||||||
|
main.plugin_innodb
|
||||||
|
main.plugin_load
|
||||||
|
main.plugin_loaderr
|
||||||
|
main.plugin_load_option
|
||||||
|
main.plugin_maturity
|
||||||
|
main.preload
|
||||||
|
main.profiling
|
||||||
|
main.progress_976225
|
||||||
|
main.ps_10nestset
|
||||||
|
main.ps_11bugs
|
||||||
|
main.ps_1general
|
||||||
|
main.ps_2myisam
|
||||||
|
main.ps_3innodb
|
||||||
|
main.ps_4heap
|
||||||
|
main.ps_5merge
|
||||||
|
main.ps_change_master
|
||||||
|
main.ps_ddl1
|
||||||
|
main.ps_max_subselect-5113
|
||||||
|
main.ps_not_windows
|
||||||
|
main.query_cache
|
||||||
|
main.query_cache_innodb
|
||||||
|
main.query_cache_merge
|
||||||
|
main.query_cache_with_views
|
||||||
|
main.range
|
||||||
|
main.range_innodb
|
||||||
|
main.range_mrr_icp
|
||||||
|
main.range_vs_index_merge
|
||||||
|
main.range_vs_index_merge_innodb
|
||||||
|
main.renamedb
|
||||||
|
main.reopen_temp_table
|
||||||
|
main.repair
|
||||||
|
main.repair_symlink-5543
|
||||||
|
main.replace
|
||||||
|
main.rollback
|
||||||
|
main.round
|
||||||
|
main.row
|
||||||
|
main.row-checksum
|
||||||
|
main.row-checksum-old
|
||||||
|
main.rowid_order_innodb
|
||||||
|
main.rpl_mysqldump_slave
|
||||||
|
main.second_frac-9175
|
||||||
|
main.select
|
||||||
|
main.select_found
|
||||||
|
main.selectivity
|
||||||
|
main.selectivity_innodb
|
||||||
|
main.selectivity_no_engine
|
||||||
|
main.select_jcl6
|
||||||
|
main.select_pkeycache
|
||||||
|
main.select_safe
|
||||||
|
main.servers
|
||||||
|
main.set_password
|
||||||
|
main.set_statement_notembedded
|
||||||
|
main.set_statement_notembedded_binlog
|
||||||
|
main.show
|
||||||
|
main.show_bad_definer-5553
|
||||||
|
main.show_create_user
|
||||||
|
main.show_function_with_pad_char_to_full_length
|
||||||
|
main.show_profile
|
||||||
|
main.show_row_order-9226
|
||||||
|
main.sighup-6580
|
||||||
|
main.signal
|
||||||
|
main.signal_demo1
|
||||||
|
main.signal_demo2
|
||||||
|
main.signal_demo3
|
||||||
|
main.signal_sqlmode
|
||||||
|
main.single_delete_update
|
||||||
|
main.single_delete_update_innodb
|
||||||
|
main.skip_grants
|
||||||
|
main.skip_log_bin
|
||||||
|
main.sp-big
|
||||||
|
main.sp-bugs
|
||||||
|
main.sp-bugs2
|
||||||
|
main.sp-destruct
|
||||||
|
main.sp-dynamic
|
||||||
|
main.sp-error
|
||||||
|
main.sp-fib
|
||||||
|
main.sp_gis
|
||||||
|
main.sp-group
|
||||||
|
main.sp_missing_4665
|
||||||
|
main.sp-no-code
|
||||||
|
main.sp-prelocking
|
||||||
|
main.sp_stress_case
|
||||||
|
main.sp_trans
|
||||||
|
main.sp_trans_log
|
||||||
|
main.sp-ucs2
|
||||||
|
main.sp-vars
|
||||||
|
main.ssl_7937
|
||||||
|
main.ssl_8k_key
|
||||||
|
main.ssl_and_innodb
|
||||||
|
main.ssl_ca
|
||||||
|
main.ssl_cert_verify
|
||||||
|
main.ssl_connect
|
||||||
|
main.ssl_crl_clients
|
||||||
|
main.stack-crash
|
||||||
|
main.statistics
|
||||||
|
main.statistics_index_crash-7362
|
||||||
|
main.stat_tables
|
||||||
|
main.stat_tables_disabled
|
||||||
|
main.stat_tables_innodb
|
||||||
|
main.stat_tables_partition
|
||||||
|
main.stat_tables_repl
|
||||||
|
main.strict
|
||||||
|
main.strict_autoinc_1myisam
|
||||||
|
main.strict_autoinc_2innodb
|
||||||
|
main.strict_autoinc_3heap
|
||||||
|
main.str_to_datetime_457
|
||||||
|
main.subselect2
|
||||||
|
main.subselect3
|
||||||
|
main.subselect3_jcl6
|
||||||
|
main.subselect4
|
||||||
|
main.subselect_cache
|
||||||
|
main.subselect-crash_15755
|
||||||
|
main.subselect_exists2in
|
||||||
|
main.subselect_exists2in_costmat
|
||||||
|
main.subselect_extra
|
||||||
|
main.subselect_extra_no_semijoin
|
||||||
|
main.subselect_gis
|
||||||
|
main.subselect_innodb
|
||||||
|
main.subselect_mat
|
||||||
|
main.subselect_mat_cost
|
||||||
|
main.subselect_mat_cost_bugs
|
||||||
|
main.subselect_notembedded
|
||||||
|
main.subselect_nulls
|
||||||
|
main.subselect_partial_match
|
||||||
|
main.subselect_sj2
|
||||||
|
main.subselect_sj2_jcl6
|
||||||
|
main.subselect_sj2_mat
|
||||||
|
main.subselect_sj_aria
|
||||||
|
main.subselect_sj_mat
|
||||||
|
main.subselect_sj_nonmerged
|
||||||
|
main.sum_distinct
|
||||||
|
main.sysdate_is_now
|
||||||
|
main.system_mysql_db
|
||||||
|
main.system_mysql_db_refs
|
||||||
|
main.table_elim
|
||||||
|
main.table_elim_debug
|
||||||
|
main.table_keyinfo-6838
|
||||||
|
main.tablelock
|
||||||
|
main.table_options
|
||||||
|
main.table_options-5867
|
||||||
|
main.temporal_literal
|
||||||
|
main.temporal_scale_4283
|
||||||
|
main.temp_table_frm
|
||||||
|
main.timezone
|
||||||
|
main.timezone2
|
||||||
|
main.timezone3
|
||||||
|
main.timezone4
|
||||||
|
main.tmp_table_count-7586
|
||||||
|
main.trigger_no_defaults-11698
|
||||||
|
main.trigger_null-8605
|
||||||
|
main.truncate
|
||||||
|
main.truncate_badse
|
||||||
|
main.truncate-stale-6500
|
||||||
|
main.type_binary
|
||||||
|
main.type_bit
|
||||||
|
main.type_bit_innodb
|
||||||
|
main.type_blob
|
||||||
|
main.type_datetime_hires
|
||||||
|
main.type_decimal
|
||||||
|
main.type_enum
|
||||||
|
main.type_float
|
||||||
|
main.type_int
|
||||||
|
main.type_nchar
|
||||||
|
main.type_newdecimal
|
||||||
|
main.type_num
|
||||||
|
main.type_num_innodb
|
||||||
|
main.type_ranges
|
||||||
|
main.type_set
|
||||||
|
main.type_temporal_innodb
|
||||||
|
main.type_temporal_mysql56
|
||||||
|
main.type_time
|
||||||
|
main.type_time_6065
|
||||||
|
main.type_time_hires
|
||||||
|
main.type_timestamp_hires
|
||||||
|
main.type_uint
|
||||||
|
main.type_varchar
|
||||||
|
main.type_year
|
||||||
|
main.update_ignore_216
|
||||||
|
main.update_innodb
|
||||||
|
main.upgrade
|
||||||
|
main.user_var
|
||||||
|
main.varbinary
|
||||||
|
main.variables_community
|
||||||
|
main.view_alias
|
||||||
|
main.warnings_engine_disabled
|
||||||
|
main.win_avg
|
||||||
|
main.win_big
|
||||||
|
main.win_big-mdev-10092
|
||||||
|
main.win_big-mdev-11697
|
||||||
|
main.win_bit
|
||||||
|
main.win_empty_over
|
||||||
|
main.win_first_last_value
|
||||||
|
main.win_insert_select
|
||||||
|
main.win_i_s
|
||||||
|
main.win_lead_lag
|
||||||
|
main.win_min_max
|
||||||
|
main.win_nth_value
|
||||||
|
main.win_orderby
|
||||||
|
main.win_percent_cume
|
||||||
|
main.win_rank
|
||||||
|
main.win_sum
|
||||||
|
main.xa_binlog
|
||||||
|
main.xml
|
||||||
|
main.xtradb_mrr
|
@ -1279,8 +1279,6 @@ void btr_search_drop_page_hash_when_freed(const page_id_t& page_id)
|
|||||||
mtr_t mtr;
|
mtr_t mtr;
|
||||||
dberr_t err = DB_SUCCESS;
|
dberr_t err = DB_SUCCESS;
|
||||||
|
|
||||||
ut_d(export_vars.innodb_ahi_drop_lookups++);
|
|
||||||
|
|
||||||
mtr_start(&mtr);
|
mtr_start(&mtr);
|
||||||
|
|
||||||
/* If the caller has a latch on the page, then the caller must
|
/* If the caller has a latch on the page, then the caller must
|
||||||
|
@ -1068,10 +1068,6 @@ static SHOW_VAR innodb_status_variables[]= {
|
|||||||
(char*) &export_vars.innodb_truncated_status_writes, SHOW_LONG},
|
(char*) &export_vars.innodb_truncated_status_writes, SHOW_LONG},
|
||||||
{"available_undo_logs",
|
{"available_undo_logs",
|
||||||
(char*) &export_vars.innodb_available_undo_logs, SHOW_LONG},
|
(char*) &export_vars.innodb_available_undo_logs, SHOW_LONG},
|
||||||
#ifdef UNIV_DEBUG
|
|
||||||
{"ahi_drop_lookups",
|
|
||||||
(char*) &export_vars.innodb_ahi_drop_lookups, SHOW_LONG},
|
|
||||||
#endif /* UNIV_DEBUG */
|
|
||||||
|
|
||||||
/* Status variables for page compression */
|
/* Status variables for page compression */
|
||||||
{"page_compression_saved",
|
{"page_compression_saved",
|
||||||
|
@ -186,32 +186,6 @@ struct recv_t{
|
|||||||
rec_list;/*!< list of log records for this page */
|
rec_list;/*!< list of log records for this page */
|
||||||
};
|
};
|
||||||
|
|
||||||
/** States of recv_addr_t */
|
|
||||||
enum recv_addr_state {
|
|
||||||
/** not yet processed */
|
|
||||||
RECV_NOT_PROCESSED,
|
|
||||||
/** page is being read */
|
|
||||||
RECV_BEING_READ,
|
|
||||||
/** log records are being applied on the page */
|
|
||||||
RECV_BEING_PROCESSED,
|
|
||||||
/** log records have been applied on the page */
|
|
||||||
RECV_PROCESSED,
|
|
||||||
/** log records have been discarded because the tablespace
|
|
||||||
does not exist */
|
|
||||||
RECV_DISCARDED
|
|
||||||
};
|
|
||||||
|
|
||||||
/** Hashed page file address struct */
|
|
||||||
struct recv_addr_t{
|
|
||||||
enum recv_addr_state state;
|
|
||||||
/*!< recovery state of the page */
|
|
||||||
unsigned space:32;/*!< space id */
|
|
||||||
unsigned page_no:32;/*!< page number */
|
|
||||||
UT_LIST_BASE_NODE_T(recv_t)
|
|
||||||
rec_list;/*!< list of log records for this page */
|
|
||||||
hash_node_t addr_hash;/*!< hash node in the hash bucket chain */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct recv_dblwr_t {
|
struct recv_dblwr_t {
|
||||||
/** Add a page frame to the doublewrite recovery buffer. */
|
/** Add a page frame to the doublewrite recovery buffer. */
|
||||||
void add(byte* page) {
|
void add(byte* page) {
|
||||||
|
@ -1014,12 +1014,6 @@ struct export_var_t{
|
|||||||
of used row log buffer */
|
of used row log buffer */
|
||||||
ulint innodb_onlineddl_pct_progress; /*!< Online alter progress */
|
ulint innodb_onlineddl_pct_progress; /*!< Online alter progress */
|
||||||
|
|
||||||
#ifdef UNIV_DEBUG
|
|
||||||
ulint innodb_ahi_drop_lookups; /*!< number of adaptive hash
|
|
||||||
index lookups when freeing
|
|
||||||
file pages */
|
|
||||||
#endif /* UNIV_DEBUG */
|
|
||||||
|
|
||||||
int64_t innodb_page_compression_saved;/*!< Number of bytes saved
|
int64_t innodb_page_compression_saved;/*!< Number of bytes saved
|
||||||
by page compression */
|
by page compression */
|
||||||
int64_t innodb_index_pages_written; /*!< Number of index pages
|
int64_t innodb_index_pages_written; /*!< Number of index pages
|
||||||
|
@ -169,6 +169,35 @@ typedef std::map<
|
|||||||
|
|
||||||
static recv_spaces_t recv_spaces;
|
static recv_spaces_t recv_spaces;
|
||||||
|
|
||||||
|
/** States of recv_addr_t */
|
||||||
|
enum recv_addr_state {
|
||||||
|
/** not yet processed */
|
||||||
|
RECV_NOT_PROCESSED,
|
||||||
|
/** page is being read */
|
||||||
|
RECV_BEING_READ,
|
||||||
|
/** log records are being applied on the page */
|
||||||
|
RECV_BEING_PROCESSED,
|
||||||
|
/** log records have been applied on the page */
|
||||||
|
RECV_PROCESSED,
|
||||||
|
/** log records have been discarded because the tablespace
|
||||||
|
does not exist */
|
||||||
|
RECV_DISCARDED
|
||||||
|
};
|
||||||
|
|
||||||
|
/** Hashed page file address struct */
|
||||||
|
struct recv_addr_t{
|
||||||
|
/** recovery state of the page */
|
||||||
|
recv_addr_state state;
|
||||||
|
/** tablespace identifier */
|
||||||
|
unsigned space:32;
|
||||||
|
/** page number */
|
||||||
|
unsigned page_no:32;
|
||||||
|
/** list of log records for this page */
|
||||||
|
UT_LIST_BASE_NODE_T(recv_t) rec_list;
|
||||||
|
/** hash node in the hash bucket chain */
|
||||||
|
hash_node_t addr_hash;
|
||||||
|
};
|
||||||
|
|
||||||
/** Report optimized DDL operation (without redo log),
|
/** Report optimized DDL operation (without redo log),
|
||||||
corresponding to MLOG_INDEX_LOAD.
|
corresponding to MLOG_INDEX_LOAD.
|
||||||
@param[in] space_id tablespace identifier
|
@param[in] space_id tablespace identifier
|
||||||
@ -1174,6 +1203,7 @@ parse_log:
|
|||||||
redo log been written with something
|
redo log been written with something
|
||||||
older than InnoDB Plugin 1.0.4. */
|
older than InnoDB Plugin 1.0.4. */
|
||||||
ut_ad(offs == FIL_PAGE_TYPE
|
ut_ad(offs == FIL_PAGE_TYPE
|
||||||
|
|| srv_is_undo_tablespace(space_id)
|
||||||
|| offs == IBUF_TREE_SEG_HEADER
|
|| offs == IBUF_TREE_SEG_HEADER
|
||||||
+ IBUF_HEADER + FSEG_HDR_OFFSET
|
+ IBUF_HEADER + FSEG_HDR_OFFSET
|
||||||
|| offs == PAGE_BTR_IBUF_FREE_LIST
|
|| offs == PAGE_BTR_IBUF_FREE_LIST
|
||||||
@ -1199,6 +1229,7 @@ parse_log:
|
|||||||
ut_ad(0
|
ut_ad(0
|
||||||
/* fil_crypt_rotate_page() writes this */
|
/* fil_crypt_rotate_page() writes this */
|
||||||
|| offs == FIL_PAGE_SPACE_ID
|
|| offs == FIL_PAGE_SPACE_ID
|
||||||
|
|| srv_is_undo_tablespace(space_id)
|
||||||
|| offs == IBUF_TREE_SEG_HEADER
|
|| offs == IBUF_TREE_SEG_HEADER
|
||||||
+ IBUF_HEADER + FSEG_HDR_SPACE
|
+ IBUF_HEADER + FSEG_HDR_SPACE
|
||||||
|| offs == IBUF_TREE_SEG_HEADER
|
|| offs == IBUF_TREE_SEG_HEADER
|
||||||
|
@ -1076,9 +1076,7 @@ try_again:
|
|||||||
ut_ad(!node->table->is_temporary());
|
ut_ad(!node->table->is_temporary());
|
||||||
|
|
||||||
if (!fil_table_accessible(node->table)) {
|
if (!fil_table_accessible(node->table)) {
|
||||||
dict_table_close(node->table, FALSE, FALSE);
|
goto close_exit;
|
||||||
node->table = NULL;
|
|
||||||
goto err_exit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
@ -1113,6 +1111,7 @@ try_again:
|
|||||||
dict_set_corrupted() works on an index, and
|
dict_set_corrupted() works on an index, and
|
||||||
we do not have an index to call it with. */
|
we do not have an index to call it with. */
|
||||||
dict_table_close(node->table, FALSE, FALSE);
|
dict_table_close(node->table, FALSE, FALSE);
|
||||||
|
node->table = NULL;
|
||||||
err_exit:
|
err_exit:
|
||||||
rw_lock_s_unlock(dict_operation_lock);
|
rw_lock_s_unlock(dict_operation_lock);
|
||||||
return(false);
|
return(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user