Merge branch '10.1' into 10.2

This commit is contained in:
Sergei Golubchik 2017-07-05 19:08:55 +02:00
commit f6633bf058
99 changed files with 2787 additions and 408 deletions

View file

@ -345,7 +345,8 @@ get_mysql_vars(MYSQL *connection)
char *innodb_data_home_dir_var = NULL;
char *innodb_undo_directory_var = NULL;
char *innodb_page_size_var = NULL;
char *innodb_undo_tablespaces_var = NULL;
char *endptr;
unsigned long server_version = mysql_get_server_version(connection);
bool ret = true;
@ -373,6 +374,7 @@ get_mysql_vars(MYSQL *connection)
{"innodb_data_home_dir", &innodb_data_home_dir_var},
{"innodb_undo_directory", &innodb_undo_directory_var},
{"innodb_page_size", &innodb_page_size_var},
{"innodb_undo_tablespaces", &innodb_undo_tablespaces_var},
{NULL, NULL}
};
@ -461,62 +463,55 @@ get_mysql_vars(MYSQL *connection)
}
/* get some default values is they are missing from my.cnf */
if (!check_if_param_set("datadir") && datadir_var && *datadir_var) {
if (datadir_var && *datadir_var) {
strmake(mysql_real_data_home, datadir_var, FN_REFLEN - 1);
mysql_data_home= mysql_real_data_home;
}
if (!check_if_param_set("innodb_data_file_path")
&& innodb_data_file_path_var && *innodb_data_file_path_var) {
if (innodb_data_file_path_var && *innodb_data_file_path_var) {
innobase_data_file_path = my_strdup(
innodb_data_file_path_var, MYF(MY_FAE));
}
if (!check_if_param_set("innodb_data_home_dir")
&& innodb_data_home_dir_var && *innodb_data_home_dir_var) {
if (innodb_data_home_dir_var && *innodb_data_home_dir_var) {
innobase_data_home_dir = my_strdup(
innodb_data_home_dir_var, MYF(MY_FAE));
}
if (!check_if_param_set("innodb_log_group_home_dir")
&& innodb_log_group_home_dir_var
if (innodb_log_group_home_dir_var
&& *innodb_log_group_home_dir_var) {
srv_log_group_home_dir = my_strdup(
innodb_log_group_home_dir_var, MYF(MY_FAE));
}
if (!check_if_param_set("innodb_undo_directory")
&& innodb_undo_directory_var && *innodb_undo_directory_var) {
if (innodb_undo_directory_var && *innodb_undo_directory_var) {
srv_undo_dir = my_strdup(
innodb_undo_directory_var, MYF(MY_FAE));
}
if (!check_if_param_set("innodb_log_files_in_group")
&& innodb_log_files_in_group_var) {
char *endptr;
if (innodb_log_files_in_group_var) {
srv_n_log_files = strtol(
innodb_log_files_in_group_var, &endptr, 10);
ut_ad(*endptr == 0);
}
if (!check_if_param_set("innodb_log_file_size")
&& innodb_log_file_size_var) {
char *endptr;
if (innodb_log_file_size_var) {
srv_log_file_size = strtoll(
innodb_log_file_size_var, &endptr, 10);
ut_ad(*endptr == 0);
}
if (!check_if_param_set("innodb_page_size") && innodb_page_size_var) {
char *endptr;
if (innodb_page_size_var) {
innobase_page_size = strtoll(
innodb_page_size_var, &endptr, 10);
ut_ad(*endptr == 0);
}
if (innodb_undo_tablespaces_var) {
srv_undo_tablespaces = strtoul(innodb_undo_tablespaces_var, &endptr, 10);
ut_ad(*endptr == 0);
}
out:
free_mysql_variables(mysql_vars);

View file

@ -444,7 +444,11 @@ extract_worker_thread_func(void *arg)
}
if (chunk.type == XB_CHUNK_TYPE_EOF) {
pthread_mutex_lock(ctxt->mutex);
pthread_mutex_unlock(&entry->mutex);
my_hash_delete(ctxt->filehash, (uchar *) entry);
pthread_mutex_unlock(ctxt->mutex);
continue;
}