mirror of
https://github.com/MariaDB/server.git
synced 2025-06-13 13:01:51 +03:00
MDEV-5220 - [PATCH] MariaDB 10.0.4 doesn't compile without perfschema
Fixed the following compilation errors and test failures: - maria SE: "stage_waiting_for_a_resource" wasn't declared w/o PFS - sql_repl.h: PSI_mutex_key is not available in non-PFS builds - mysqld.cc: pfs_param is not available in non-PFS builds - mysqld.cc: init_show_explain_psi_keys() is not available in non-PFS builds - mysqld.cc: call net_before_header_psi, net_after_header_psi even if PFS is not available so that thread enters stage_init at proper time. Fixes sp-threads and a few tests in funcs_1. - myisam_file_io.opt: added missing loose prefix
This commit is contained in:
@ -1 +1 @@
|
||||
--performance_schema_events_waits_history_long_size=5000
|
||||
--loose-performance_schema_events_waits_history_long_size=5000
|
||||
|
@ -134,6 +134,8 @@ private:
|
||||
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
void init_show_explain_psi_keys(void);
|
||||
#else
|
||||
#define init_show_explain_psi_keys() /* no-op */
|
||||
#endif
|
||||
|
||||
#endif //SQL_MY_APC_INCLUDED
|
||||
|
@ -758,8 +758,9 @@ static char **remaining_argv;
|
||||
int orig_argc;
|
||||
char **orig_argv;
|
||||
|
||||
static struct my_option pfs_early_options[] __attribute__((unused)) =
|
||||
static struct my_option pfs_early_options[]=
|
||||
{
|
||||
#ifdef WITH_PERFSCHEMA_STORAGE_ENGINE
|
||||
{"performance_schema_instrument", OPT_PFS_INSTRUMENT,
|
||||
"Default startup value for a performance schema instrument.",
|
||||
&pfs_param.m_pfs_instrument, &pfs_param.m_pfs_instrument, 0, GET_STR,
|
||||
@ -824,6 +825,7 @@ static struct my_option pfs_early_options[] __attribute__((unused)) =
|
||||
&pfs_param.m_consumer_statement_digest_enabled,
|
||||
&pfs_param.m_consumer_statement_digest_enabled, 0,
|
||||
GET_BOOL, OPT_ARG, TRUE, 0, 0, 0, 0, 0}
|
||||
#endif /* WITH_PERFSCHEMA_STORAGE_ENGINE */
|
||||
};
|
||||
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
@ -1146,7 +1148,6 @@ void net_after_header_psi(struct st_net *net, void *user_data, size_t /* unused:
|
||||
|
||||
void init_net_server_extension(THD *thd)
|
||||
{
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
/* Start with a clean state for connection events. */
|
||||
thd->m_idle_psi= NULL;
|
||||
thd->m_statement_psi= NULL;
|
||||
@ -1157,9 +1158,6 @@ void init_net_server_extension(THD *thd)
|
||||
thd->m_net_server_extension.m_after_header= net_after_header_psi;
|
||||
/* Activate this private extension for the mysqld server. */
|
||||
thd->net.extension= & thd->m_net_server_extension;
|
||||
#else
|
||||
thd->net.extension= NULL;
|
||||
#endif
|
||||
}
|
||||
#endif /* EMBEDDED_LIBRARY */
|
||||
|
||||
@ -5137,9 +5135,11 @@ int mysqld_main(int argc, char **argv)
|
||||
buffered_logs.init();
|
||||
my_getopt_error_reporter= buffered_option_error_reporter;
|
||||
my_charset_error_reporter= buffered_option_error_reporter;
|
||||
#ifdef WITH_PERFSCHEMA_STORAGE_ENGINE
|
||||
pfs_param.m_pfs_instrument= const_cast<char*>("");
|
||||
#endif /* WITH_PERFSCHEMA_STORAGE_ENGINE */
|
||||
|
||||
int ho_error= handle_early_options();
|
||||
int ho_error __attribute__((unused))= handle_early_options();
|
||||
|
||||
#ifdef WITH_PERFSCHEMA_STORAGE_ENGINE
|
||||
if (ho_error == 0)
|
||||
|
@ -67,7 +67,9 @@ int log_loaded_block(IO_CACHE* file);
|
||||
int init_replication_sys_vars();
|
||||
void mysql_binlog_send(THD* thd, char* log_ident, my_off_t pos, ushort flags);
|
||||
|
||||
#ifdef HAVE_PSI_INTERFACE
|
||||
extern PSI_mutex_key key_LOCK_slave_state, key_LOCK_binlog_state;
|
||||
#endif
|
||||
void rpl_init_gtid_slave_state();
|
||||
void rpl_deinit_gtid_slave_state();
|
||||
int gtid_state_from_binlog_pos(const char *name, uint32 pos, String *out_str);
|
||||
|
@ -146,6 +146,7 @@ PSI_thread_key key_thread_checkpoint, key_thread_find_all_keys,
|
||||
PSI_file_key key_file_translog, key_file_kfile, key_file_dfile,
|
||||
key_file_control, key_file_tmp;
|
||||
|
||||
PSI_stage_info stage_waiting_for_a_resource= { 0, "Waiting for a resource", 0};
|
||||
|
||||
#endif /* HAVE_PSI_INTERFACE */
|
||||
|
||||
/* Note that PSI_stage_info globals must always be declared. */
|
||||
PSI_stage_info stage_waiting_for_a_resource= { 0, "Waiting for a resource", 0};
|
||||
|
@ -930,10 +930,11 @@ extern PSI_thread_key key_thread_checkpoint, key_thread_find_all_keys,
|
||||
extern PSI_file_key key_file_translog, key_file_kfile, key_file_dfile,
|
||||
key_file_control, key_file_tmp;
|
||||
|
||||
extern PSI_stage_info stage_waiting_for_a_resource;
|
||||
|
||||
#endif
|
||||
|
||||
/* Note that PSI_stage_info globals must always be declared. */
|
||||
extern PSI_stage_info stage_waiting_for_a_resource;
|
||||
|
||||
/* This is used by _ma_calc_xxx_key_length och _ma_store_key */
|
||||
typedef struct st_maria_s_param
|
||||
{
|
||||
|
Reference in New Issue
Block a user