Merge 10.4 into 10.5
This commit is contained in:
commit
53aabda6b5
@ -12,13 +12,16 @@ IF(MSVC)
|
|||||||
ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
||||||
IF(CMAKE_C_COMPILER_ID MATCHES GNU AND CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)
|
IF(CMAKE_C_COMPILER_ID MATCHES GNU AND CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)
|
||||||
MESSAGE_ONCE(NO_INTEL_ASSEMBLY "Disable Intel assembly for WolfSSL - compiler is too old")
|
MESSAGE_ONCE(NO_INTEL_ASSEMBLY "Disable Intel assembly for WolfSSL - compiler is too old")
|
||||||
|
ELSEIF(WITH_MSAN)
|
||||||
|
MESSAGE_ONCE(MSAN_CANT_HANDLE_IT
|
||||||
|
"Disable Intel assembly for WolfSSL - MSAN can't handle it")
|
||||||
ELSE()
|
ELSE()
|
||||||
MY_CHECK_C_COMPILER_FLAG(-maes)
|
MY_CHECK_C_COMPILER_FLAG(-maes)
|
||||||
MY_CHECK_C_COMPILER_FLAG(-msse4)
|
MY_CHECK_C_COMPILER_FLAG(-msse4)
|
||||||
MY_CHECK_C_COMPILER_FLAG(-mpclmul)
|
MY_CHECK_C_COMPILER_FLAG(-mpclmul)
|
||||||
ENDIF()
|
IF(have_C__maes AND have_C__msse4 AND have_C__mpclmul)
|
||||||
IF(have_C__maes AND have_C__msse4 AND have_C__mpclmul)
|
SET(WOLFSSL_INTELASM ON)
|
||||||
SET(WOLFSSL_INTELASM ON)
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -364,11 +364,12 @@ static int create_myini()
|
|||||||
|
|
||||||
static const char update_root_passwd_part1[]=
|
static const char update_root_passwd_part1[]=
|
||||||
"UPDATE mysql.global_priv SET priv=json_set(priv,"
|
"UPDATE mysql.global_priv SET priv=json_set(priv,"
|
||||||
|
"'$.password_last_changed', UNIX_TIMESTAMP(),"
|
||||||
"'$.plugin','mysql_native_password',"
|
"'$.plugin','mysql_native_password',"
|
||||||
"'$.authentication_string',PASSWORD(";
|
"'$.authentication_string',PASSWORD(";
|
||||||
static const char update_root_passwd_part2[]=
|
static const char update_root_passwd_part2[]=
|
||||||
")) where User='root';\n";
|
")) where User='root';\n";
|
||||||
static const char remove_default_user_cmd[]=
|
static const char remove_default_user_cmd[]=
|
||||||
"DELETE FROM mysql.user where User='';\n";
|
"DELETE FROM mysql.user where User='';\n";
|
||||||
static const char allow_remote_root_access_cmd[]=
|
static const char allow_remote_root_access_cmd[]=
|
||||||
"CREATE TEMPORARY TABLE tmp_user LIKE global_priv;\n"
|
"CREATE TEMPORARY TABLE tmp_user LIKE global_priv;\n"
|
||||||
|
@ -1777,7 +1777,7 @@ rpl_parallel_thread::inuse_relaylog_refcount_update()
|
|||||||
inuse_relaylog *ir= accumulated_ir_last;
|
inuse_relaylog *ir= accumulated_ir_last;
|
||||||
if (ir)
|
if (ir)
|
||||||
{
|
{
|
||||||
my_atomic_add64(&ir->dequeued_count, accumulated_ir_count);
|
ir->dequeued_count+= accumulated_ir_count;
|
||||||
accumulated_ir_count= 0;
|
accumulated_ir_count= 0;
|
||||||
accumulated_ir_last= NULL;
|
accumulated_ir_last= NULL;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Copyright (c) 2006, 2017, Oracle and/or its affiliates.
|
/* Copyright (c) 2006, 2017, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2010, 2017, MariaDB Corporation
|
Copyright (c) 2010, 2020, MariaDB Corporation.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -1437,32 +1437,27 @@ Relay_log_info::alloc_inuse_relaylog(const char *name)
|
|||||||
uint32 gtid_count;
|
uint32 gtid_count;
|
||||||
rpl_gtid *gtid_list;
|
rpl_gtid *gtid_list;
|
||||||
|
|
||||||
if (!(ir= (inuse_relaylog *)my_malloc(PSI_INSTRUMENT_ME, sizeof(*ir),
|
|
||||||
MYF(MY_WME|MY_ZEROFILL))))
|
|
||||||
{
|
|
||||||
my_error(ER_OUTOFMEMORY, MYF(0), (int)sizeof(*ir));
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
gtid_count= relay_log_state.count();
|
gtid_count= relay_log_state.count();
|
||||||
if (!(gtid_list= (rpl_gtid *)my_malloc(PSI_INSTRUMENT_ME,
|
if (!(gtid_list= (rpl_gtid *)my_malloc(PSI_INSTRUMENT_ME,
|
||||||
sizeof(*gtid_list)*gtid_count, MYF(MY_WME))))
|
sizeof(*gtid_list)*gtid_count, MYF(MY_WME))))
|
||||||
{
|
{
|
||||||
my_free(ir);
|
|
||||||
my_error(ER_OUTOFMEMORY, MYF(0), (int)sizeof(*gtid_list)*gtid_count);
|
my_error(ER_OUTOFMEMORY, MYF(0), (int)sizeof(*gtid_list)*gtid_count);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
if (!(ir= new inuse_relaylog(this, gtid_list, gtid_count, name)))
|
||||||
|
{
|
||||||
|
my_free(gtid_list);
|
||||||
|
my_error(ER_OUTOFMEMORY, MYF(0), (int) sizeof(*ir));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
if (relay_log_state.get_gtid_list(gtid_list, gtid_count))
|
if (relay_log_state.get_gtid_list(gtid_list, gtid_count))
|
||||||
{
|
{
|
||||||
my_free(gtid_list);
|
my_free(gtid_list);
|
||||||
my_free(ir);
|
delete ir;
|
||||||
DBUG_ASSERT(0 /* Should not be possible as we allocated correct length */);
|
DBUG_ASSERT(0 /* Should not be possible as we allocated correct length */);
|
||||||
my_error(ER_OUT_OF_RESOURCES, MYF(0));
|
my_error(ER_OUT_OF_RESOURCES, MYF(0));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
ir->rli= this;
|
|
||||||
strmake_buf(ir->name, name);
|
|
||||||
ir->relay_log_state= gtid_list;
|
|
||||||
ir->relay_log_state_count= gtid_count;
|
|
||||||
|
|
||||||
if (!inuse_relaylog_list)
|
if (!inuse_relaylog_list)
|
||||||
inuse_relaylog_list= ir;
|
inuse_relaylog_list= ir;
|
||||||
@ -1481,7 +1476,7 @@ void
|
|||||||
Relay_log_info::free_inuse_relaylog(inuse_relaylog *ir)
|
Relay_log_info::free_inuse_relaylog(inuse_relaylog *ir)
|
||||||
{
|
{
|
||||||
my_free(ir->relay_log_state);
|
my_free(ir->relay_log_state);
|
||||||
my_free(ir);
|
delete ir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -608,10 +608,20 @@ struct inuse_relaylog {
|
|||||||
/* Number of events in this relay log queued for worker threads. */
|
/* Number of events in this relay log queued for worker threads. */
|
||||||
int64 queued_count;
|
int64 queued_count;
|
||||||
/* Number of events completed by worker threads. */
|
/* Number of events completed by worker threads. */
|
||||||
volatile int64 dequeued_count;
|
Atomic_counter<int64> dequeued_count;
|
||||||
/* Set when all events have been read from a relaylog. */
|
/* Set when all events have been read from a relaylog. */
|
||||||
bool completed;
|
bool completed;
|
||||||
char name[FN_REFLEN];
|
char name[FN_REFLEN];
|
||||||
|
|
||||||
|
inuse_relaylog(Relay_log_info *rli_arg, rpl_gtid *relay_log_state_arg,
|
||||||
|
uint32 relay_log_state_count_arg,
|
||||||
|
const char *name_arg):
|
||||||
|
next(0), rli(rli_arg), relay_log_state(relay_log_state_arg),
|
||||||
|
relay_log_state_count(relay_log_state_count_arg), queued_count(0),
|
||||||
|
dequeued_count(0), completed(false)
|
||||||
|
{
|
||||||
|
strmake_buf(name, name_arg);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2018, 2019 MariaDB
|
Copyright (c) 2018, 2020, MariaDB
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -9138,8 +9138,8 @@ kill_one_thread(THD *thd, longlong id, killed_state kill_signal, killed_type typ
|
|||||||
else
|
else
|
||||||
error= (type == KILL_TYPE_QUERY ? ER_KILL_QUERY_DENIED_ERROR :
|
error= (type == KILL_TYPE_QUERY ? ER_KILL_QUERY_DENIED_ERROR :
|
||||||
ER_KILL_DENIED_ERROR);
|
ER_KILL_DENIED_ERROR);
|
||||||
mysql_mutex_unlock(&tmp->LOCK_thd_kill);
|
|
||||||
if (WSREP(tmp)) mysql_mutex_unlock(&tmp->LOCK_thd_data);
|
if (WSREP(tmp)) mysql_mutex_unlock(&tmp->LOCK_thd_data);
|
||||||
|
mysql_mutex_unlock(&tmp->LOCK_thd_kill);
|
||||||
}
|
}
|
||||||
DBUG_PRINT("exit", ("%d", error));
|
DBUG_PRINT("exit", ("%d", error));
|
||||||
DBUG_RETURN(error);
|
DBUG_RETURN(error);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2019 MariaDB
|
Copyright (c) 2019, 2020, MariaDB
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -295,10 +295,8 @@ int ha_federatedx_select_handler::end_scan()
|
|||||||
|
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
\
|
|
||||||
void ha_federatedx_select_handler::print_error(int error, myf error_flag)
|
void ha_federatedx_select_handler::print_error(int error, myf error_flag)
|
||||||
{
|
{
|
||||||
select_handler::print_error(error, error_flag);
|
select_handler::print_error(error, error_flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user