mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug #1039: tmpdir and datadir not available via @@ system variable syntax
Bug #19606: ssl variables are not displayed in show variables Bug #19616: log_queries_not_using_indexes is not listed in show variables Make basedir, datadir, tmpdir, log_queries_not_using_indexes, ssl_ca, ssl_capath, ssl_cert, ssl_cipher, and ssl_key all available both from SHOW VARIABLES and as @@variables. As a side-effect of this change, log_queries_not_using_indexes can be changed at runtime (but only globally, not per-connection).
This commit is contained in:
@ -20,12 +20,6 @@
|
|||||||
"Enable SSL for connection (automatically enabled with other flags). Disable with --skip-ssl.",
|
"Enable SSL for connection (automatically enabled with other flags). Disable with --skip-ssl.",
|
||||||
(gptr*) &opt_use_ssl, (gptr*) &opt_use_ssl, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
(gptr*) &opt_use_ssl, (gptr*) &opt_use_ssl, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"ssl-key", OPT_SSL_KEY, "X509 key in PEM format (implies --ssl).",
|
|
||||||
(gptr*) &opt_ssl_key, (gptr*) &opt_ssl_key, 0, GET_STR, REQUIRED_ARG,
|
|
||||||
0, 0, 0, 0, 0, 0},
|
|
||||||
{"ssl-cert", OPT_SSL_CERT, "X509 cert in PEM format (implies --ssl).",
|
|
||||||
(gptr*) &opt_ssl_cert, (gptr*) &opt_ssl_cert, 0, GET_STR, REQUIRED_ARG,
|
|
||||||
0, 0, 0, 0, 0, 0},
|
|
||||||
{"ssl-ca", OPT_SSL_CA,
|
{"ssl-ca", OPT_SSL_CA,
|
||||||
"CA file in PEM format (check OpenSSL docs, implies --ssl).",
|
"CA file in PEM format (check OpenSSL docs, implies --ssl).",
|
||||||
(gptr*) &opt_ssl_ca, (gptr*) &opt_ssl_ca, 0, GET_STR, REQUIRED_ARG,
|
(gptr*) &opt_ssl_ca, (gptr*) &opt_ssl_ca, 0, GET_STR, REQUIRED_ARG,
|
||||||
@ -34,8 +28,14 @@
|
|||||||
"CA directory (check OpenSSL docs, implies --ssl).",
|
"CA directory (check OpenSSL docs, implies --ssl).",
|
||||||
(gptr*) &opt_ssl_capath, (gptr*) &opt_ssl_capath, 0, GET_STR, REQUIRED_ARG,
|
(gptr*) &opt_ssl_capath, (gptr*) &opt_ssl_capath, 0, GET_STR, REQUIRED_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
|
{"ssl-cert", OPT_SSL_CERT, "X509 cert in PEM format (implies --ssl).",
|
||||||
|
(gptr*) &opt_ssl_cert, (gptr*) &opt_ssl_cert, 0, GET_STR, REQUIRED_ARG,
|
||||||
|
0, 0, 0, 0, 0, 0},
|
||||||
{"ssl-cipher", OPT_SSL_CIPHER, "SSL cipher to use (implies --ssl).",
|
{"ssl-cipher", OPT_SSL_CIPHER, "SSL cipher to use (implies --ssl).",
|
||||||
(gptr*) &opt_ssl_cipher, (gptr*) &opt_ssl_cipher, 0, GET_STR, REQUIRED_ARG,
|
(gptr*) &opt_ssl_cipher, (gptr*) &opt_ssl_cipher, 0, GET_STR, REQUIRED_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
|
{"ssl-key", OPT_SSL_KEY, "X509 key in PEM format (implies --ssl).",
|
||||||
|
(gptr*) &opt_ssl_key, (gptr*) &opt_ssl_key, 0, GET_STR, REQUIRED_ARG,
|
||||||
|
0, 0, 0, 0, 0, 0},
|
||||||
|
|
||||||
#endif /* HAVE_OPENSSL */
|
#endif /* HAVE_OPENSSL */
|
||||||
|
@ -15,10 +15,15 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
#ifdef HAVE_OPENSSL
|
#ifdef HAVE_OPENSSL
|
||||||
static my_bool opt_use_ssl = 0;
|
#ifdef SSL_VARS_NOT_STATIC
|
||||||
static char *opt_ssl_key = 0;
|
#define SSL_STATIC
|
||||||
static char *opt_ssl_cert = 0;
|
#else
|
||||||
static char *opt_ssl_ca = 0;
|
#define SSL_STATIC static
|
||||||
static char *opt_ssl_capath = 0;
|
#endif
|
||||||
static char *opt_ssl_cipher = 0;
|
SSL_STATIC my_bool opt_use_ssl = 0;
|
||||||
|
SSL_STATIC char *opt_ssl_ca = 0;
|
||||||
|
SSL_STATIC char *opt_ssl_capath = 0;
|
||||||
|
SSL_STATIC char *opt_ssl_cert = 0;
|
||||||
|
SSL_STATIC char *opt_ssl_cipher = 0;
|
||||||
|
SSL_STATIC char *opt_ssl_key = 0;
|
||||||
#endif
|
#endif
|
||||||
|
@ -612,4 +612,32 @@ select @@version, @@version_comment, @@version_compile_machine,
|
|||||||
@@version_compile_os;
|
@@version_compile_os;
|
||||||
@@version @@version_comment @@version_compile_machine @@version_compile_os
|
@@version @@version_comment @@version_compile_machine @@version_compile_os
|
||||||
# # # #
|
# # # #
|
||||||
|
select @@basedir, @@datadir, @@tmpdir;
|
||||||
|
@@basedir @@datadir @@tmpdir
|
||||||
|
# # #
|
||||||
|
show variables like 'basedir';
|
||||||
|
Variable_name Value
|
||||||
|
basedir #
|
||||||
|
show variables like 'datadir';
|
||||||
|
Variable_name Value
|
||||||
|
datadir #
|
||||||
|
show variables like 'tmpdir';
|
||||||
|
Variable_name Value
|
||||||
|
tmpdir #
|
||||||
|
select @@ssl_ca, @@ssl_capath, @@ssl_cert, @@ssl_cipher, @@ssl_key;
|
||||||
|
@@ssl_ca @@ssl_capath @@ssl_cert @@ssl_cipher @@ssl_key
|
||||||
|
# # # # #
|
||||||
|
show variables like 'ssl%';
|
||||||
|
Variable_name Value
|
||||||
|
ssl_ca #
|
||||||
|
ssl_capath #
|
||||||
|
ssl_cert #
|
||||||
|
ssl_cipher #
|
||||||
|
ssl_key #
|
||||||
|
select @@log_queries_not_using_indexes;
|
||||||
|
@@log_queries_not_using_indexes
|
||||||
|
0
|
||||||
|
show variables like 'log_queries_not_using_indexes';
|
||||||
|
Variable_name Value
|
||||||
|
log_queries_not_using_indexes OFF
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
@ -508,4 +508,34 @@ select @@system_time_zone;
|
|||||||
select @@version, @@version_comment, @@version_compile_machine,
|
select @@version, @@version_comment, @@version_compile_machine,
|
||||||
@@version_compile_os;
|
@@version_compile_os;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #1039: make tmpdir and datadir available as @@variables (also included
|
||||||
|
# basedir)
|
||||||
|
#
|
||||||
|
# Don't actually output, since it depends on the system
|
||||||
|
--replace_column 1 # 2 # 3 #
|
||||||
|
select @@basedir, @@datadir, @@tmpdir;
|
||||||
|
--replace_column 2 #
|
||||||
|
show variables like 'basedir';
|
||||||
|
--replace_column 2 #
|
||||||
|
show variables like 'datadir';
|
||||||
|
--replace_column 2 #
|
||||||
|
show variables like 'tmpdir';
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #19606: make ssl settings available via SHOW VARIABLES and @@variables
|
||||||
|
#
|
||||||
|
# Don't actually output, since it depends on the system
|
||||||
|
--replace_column 1 # 2 # 3 # 4 # 5 #
|
||||||
|
select @@ssl_ca, @@ssl_capath, @@ssl_cert, @@ssl_cipher, @@ssl_key;
|
||||||
|
--replace_column 2 #
|
||||||
|
show variables like 'ssl%';
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #19616: make log_queries_not_using_indexes available in SHOW VARIABLES
|
||||||
|
# and as @@log_queries_not_using_indexes
|
||||||
|
#
|
||||||
|
select @@log_queries_not_using_indexes;
|
||||||
|
show variables like 'log_queries_not_using_indexes';
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
@ -1185,6 +1185,7 @@ extern my_bool locked_in_memory;
|
|||||||
extern bool opt_using_transactions, mysqld_embedded;
|
extern bool opt_using_transactions, mysqld_embedded;
|
||||||
extern bool using_update_log, opt_large_files, server_id_supplied;
|
extern bool using_update_log, opt_large_files, server_id_supplied;
|
||||||
extern bool opt_log, opt_update_log, opt_bin_log, opt_slow_log, opt_error_log;
|
extern bool opt_log, opt_update_log, opt_bin_log, opt_slow_log, opt_error_log;
|
||||||
|
extern my_bool opt_log_queries_not_using_indexes;
|
||||||
extern bool opt_disable_networking, opt_skip_show_db;
|
extern bool opt_disable_networking, opt_skip_show_db;
|
||||||
extern my_bool opt_character_set_client_handshake;
|
extern my_bool opt_character_set_client_handshake;
|
||||||
extern bool volatile abort_loop, shutdown_in_progress, grant_option;
|
extern bool volatile abort_loop, shutdown_in_progress, grant_option;
|
||||||
|
@ -311,7 +311,6 @@ static bool volatile ready_to_exit;
|
|||||||
static my_bool opt_debugging= 0, opt_external_locking= 0, opt_console= 0;
|
static my_bool opt_debugging= 0, opt_external_locking= 0, opt_console= 0;
|
||||||
static my_bool opt_bdb, opt_isam, opt_ndbcluster;
|
static my_bool opt_bdb, opt_isam, opt_ndbcluster;
|
||||||
static my_bool opt_short_log_format= 0;
|
static my_bool opt_short_log_format= 0;
|
||||||
static my_bool opt_log_queries_not_using_indexes= 0;
|
|
||||||
static uint kill_cached_threads, wake_thread;
|
static uint kill_cached_threads, wake_thread;
|
||||||
static ulong killed_threads, thread_created;
|
static ulong killed_threads, thread_created;
|
||||||
static ulong max_used_connections;
|
static ulong max_used_connections;
|
||||||
@ -337,6 +336,7 @@ static my_bool opt_sync_bdb_logs;
|
|||||||
/* Global variables */
|
/* Global variables */
|
||||||
|
|
||||||
bool opt_log, opt_update_log, opt_bin_log, opt_slow_log;
|
bool opt_log, opt_update_log, opt_bin_log, opt_slow_log;
|
||||||
|
my_bool opt_log_queries_not_using_indexes= 0;
|
||||||
bool opt_error_log= IF_WIN(1,0);
|
bool opt_error_log= IF_WIN(1,0);
|
||||||
bool opt_disable_networking=0, opt_skip_show_db=0;
|
bool opt_disable_networking=0, opt_skip_show_db=0;
|
||||||
my_bool opt_character_set_client_handshake= 1;
|
my_bool opt_character_set_client_handshake= 1;
|
||||||
@ -603,6 +603,7 @@ my_bool opt_enable_shared_memory;
|
|||||||
HANDLE smem_event_connect_request= 0;
|
HANDLE smem_event_connect_request= 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define SSL_VARS_NOT_STATIC
|
||||||
#include "sslopt-vars.h"
|
#include "sslopt-vars.h"
|
||||||
#ifdef HAVE_OPENSSL
|
#ifdef HAVE_OPENSSL
|
||||||
#include <openssl/crypto.h>
|
#include <openssl/crypto.h>
|
||||||
|
@ -122,6 +122,7 @@ static byte *get_error_count(THD *thd);
|
|||||||
static byte *get_warning_count(THD *thd);
|
static byte *get_warning_count(THD *thd);
|
||||||
static byte *get_prepared_stmt_count(THD *thd);
|
static byte *get_prepared_stmt_count(THD *thd);
|
||||||
static byte *get_have_innodb(THD *thd);
|
static byte *get_have_innodb(THD *thd);
|
||||||
|
static byte *get_tmpdir(THD *thd);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Variable definition list
|
Variable definition list
|
||||||
@ -138,6 +139,7 @@ sys_var_thd_ulong sys_auto_increment_offset("auto_increment_offset",
|
|||||||
sys_var_bool_ptr sys_automatic_sp_privileges("automatic_sp_privileges",
|
sys_var_bool_ptr sys_automatic_sp_privileges("automatic_sp_privileges",
|
||||||
&sp_automatic_privileges);
|
&sp_automatic_privileges);
|
||||||
|
|
||||||
|
sys_var_const_str sys_basedir("basedir", mysql_home);
|
||||||
sys_var_long_ptr sys_binlog_cache_size("binlog_cache_size",
|
sys_var_long_ptr sys_binlog_cache_size("binlog_cache_size",
|
||||||
&binlog_cache_size);
|
&binlog_cache_size);
|
||||||
sys_var_thd_ulong sys_bulk_insert_buff_size("bulk_insert_buffer_size",
|
sys_var_thd_ulong sys_bulk_insert_buff_size("bulk_insert_buffer_size",
|
||||||
@ -161,6 +163,7 @@ sys_var_long_ptr sys_concurrent_insert("concurrent_insert",
|
|||||||
&myisam_concurrent_insert);
|
&myisam_concurrent_insert);
|
||||||
sys_var_long_ptr sys_connect_timeout("connect_timeout",
|
sys_var_long_ptr sys_connect_timeout("connect_timeout",
|
||||||
&connect_timeout);
|
&connect_timeout);
|
||||||
|
sys_var_const_str sys_datadir("datadir", mysql_real_data_home);
|
||||||
sys_var_enum sys_delay_key_write("delay_key_write",
|
sys_var_enum sys_delay_key_write("delay_key_write",
|
||||||
&delay_key_write_options,
|
&delay_key_write_options,
|
||||||
&delay_key_write_typelib,
|
&delay_key_write_typelib,
|
||||||
@ -208,6 +211,9 @@ sys_trust_routine_creators("log_bin_trust_routine_creators",
|
|||||||
sys_var_bool_ptr
|
sys_var_bool_ptr
|
||||||
sys_trust_function_creators("log_bin_trust_function_creators",
|
sys_trust_function_creators("log_bin_trust_function_creators",
|
||||||
&trust_function_creators);
|
&trust_function_creators);
|
||||||
|
sys_var_bool_ptr
|
||||||
|
sys_log_queries_not_using_indexes("log_queries_not_using_indexes",
|
||||||
|
&opt_log_queries_not_using_indexes);
|
||||||
sys_var_thd_ulong sys_log_warnings("log_warnings", &SV::log_warnings);
|
sys_var_thd_ulong sys_log_warnings("log_warnings", &SV::log_warnings);
|
||||||
sys_var_thd_ulong sys_long_query_time("long_query_time",
|
sys_var_thd_ulong sys_long_query_time("long_query_time",
|
||||||
&SV::long_query_time);
|
&SV::long_query_time);
|
||||||
@ -331,6 +337,7 @@ sys_var_thd_ulong sys_query_alloc_block_size("query_alloc_block_size",
|
|||||||
sys_var_thd_ulong sys_query_prealloc_size("query_prealloc_size",
|
sys_var_thd_ulong sys_query_prealloc_size("query_prealloc_size",
|
||||||
&SV::query_prealloc_size,
|
&SV::query_prealloc_size,
|
||||||
0, fix_thd_mem_root);
|
0, fix_thd_mem_root);
|
||||||
|
sys_var_readonly sys_tmpdir("tmpdir", OPT_GLOBAL, SHOW_CHAR, get_tmpdir);
|
||||||
sys_var_thd_ulong sys_trans_alloc_block_size("transaction_alloc_block_size",
|
sys_var_thd_ulong sys_trans_alloc_block_size("transaction_alloc_block_size",
|
||||||
&SV::trans_alloc_block_size,
|
&SV::trans_alloc_block_size,
|
||||||
0, fix_trans_mem_root);
|
0, fix_trans_mem_root);
|
||||||
@ -367,6 +374,21 @@ sys_var_thd_ulong sys_sort_buffer("sort_buffer_size",
|
|||||||
&SV::sortbuff_size);
|
&SV::sortbuff_size);
|
||||||
sys_var_thd_sql_mode sys_sql_mode("sql_mode",
|
sys_var_thd_sql_mode sys_sql_mode("sql_mode",
|
||||||
&SV::sql_mode);
|
&SV::sql_mode);
|
||||||
|
#ifdef HAVE_OPENSSL
|
||||||
|
extern char *opt_ssl_ca, *opt_ssl_capath, *opt_ssl_cert, *opt_ssl_cipher,
|
||||||
|
*opt_ssl_key;
|
||||||
|
sys_var_const_str_ptr sys_ssl_ca("ssl_ca", &opt_ssl_ca);
|
||||||
|
sys_var_const_str_ptr sys_ssl_capath("ssl_capath", &opt_ssl_capath);
|
||||||
|
sys_var_const_str_ptr sys_ssl_cert("ssl_cert", &opt_ssl_cert);
|
||||||
|
sys_var_const_str_ptr sys_ssl_cipher("ssl_cipher", &opt_ssl_cipher);
|
||||||
|
sys_var_const_str_ptr sys_ssl_key("ssl_key", &opt_ssl_key);
|
||||||
|
#else
|
||||||
|
sys_var_const_str sys_ssl_ca("ssl_ca", NULL);
|
||||||
|
sys_var_const_str sys_ssl_capath("ssl_capath", NULL);
|
||||||
|
sys_var_const_str sys_ssl_cert("ssl_cert", NULL);
|
||||||
|
sys_var_const_str sys_ssl_cipher("ssl_cipher", NULL);
|
||||||
|
sys_var_const_str sys_ssl_key("ssl_key", NULL);
|
||||||
|
#endif
|
||||||
sys_var_thd_enum
|
sys_var_thd_enum
|
||||||
sys_updatable_views_with_limit("updatable_views_with_limit",
|
sys_updatable_views_with_limit("updatable_views_with_limit",
|
||||||
&SV::updatable_views_with_limit,
|
&SV::updatable_views_with_limit,
|
||||||
@ -582,6 +604,7 @@ sys_var *sys_variables[]=
|
|||||||
&sys_auto_increment_offset,
|
&sys_auto_increment_offset,
|
||||||
&sys_autocommit,
|
&sys_autocommit,
|
||||||
&sys_automatic_sp_privileges,
|
&sys_automatic_sp_privileges,
|
||||||
|
&sys_basedir,
|
||||||
&sys_big_tables,
|
&sys_big_tables,
|
||||||
&sys_big_selects,
|
&sys_big_selects,
|
||||||
&sys_binlog_cache_size,
|
&sys_binlog_cache_size,
|
||||||
@ -600,6 +623,7 @@ sys_var *sys_variables[]=
|
|||||||
&sys_completion_type,
|
&sys_completion_type,
|
||||||
&sys_concurrent_insert,
|
&sys_concurrent_insert,
|
||||||
&sys_connect_timeout,
|
&sys_connect_timeout,
|
||||||
|
&sys_datadir,
|
||||||
&sys_date_format,
|
&sys_date_format,
|
||||||
&sys_datetime_format,
|
&sys_datetime_format,
|
||||||
&sys_div_precincrement,
|
&sys_div_precincrement,
|
||||||
@ -631,6 +655,7 @@ sys_var *sys_variables[]=
|
|||||||
&sys_local_infile,
|
&sys_local_infile,
|
||||||
&sys_log_binlog,
|
&sys_log_binlog,
|
||||||
&sys_log_off,
|
&sys_log_off,
|
||||||
|
&sys_log_queries_not_using_indexes,
|
||||||
&sys_log_update,
|
&sys_log_update,
|
||||||
&sys_log_warnings,
|
&sys_log_warnings,
|
||||||
&sys_long_query_time,
|
&sys_long_query_time,
|
||||||
@ -710,6 +735,11 @@ sys_var *sys_variables[]=
|
|||||||
&sys_sql_mode,
|
&sys_sql_mode,
|
||||||
&sys_sql_warnings,
|
&sys_sql_warnings,
|
||||||
&sys_sql_notes,
|
&sys_sql_notes,
|
||||||
|
&sys_ssl_ca,
|
||||||
|
&sys_ssl_capath,
|
||||||
|
&sys_ssl_cert,
|
||||||
|
&sys_ssl_cipher,
|
||||||
|
&sys_ssl_key,
|
||||||
&sys_storage_engine,
|
&sys_storage_engine,
|
||||||
#ifdef HAVE_REPLICATION
|
#ifdef HAVE_REPLICATION
|
||||||
&sys_sync_binlog_period,
|
&sys_sync_binlog_period,
|
||||||
@ -724,6 +754,7 @@ sys_var *sys_variables[]=
|
|||||||
&sys_timed_mutexes,
|
&sys_timed_mutexes,
|
||||||
&sys_timestamp,
|
&sys_timestamp,
|
||||||
&sys_time_zone,
|
&sys_time_zone,
|
||||||
|
&sys_tmpdir,
|
||||||
&sys_tmp_table_size,
|
&sys_tmp_table_size,
|
||||||
&sys_trans_alloc_block_size,
|
&sys_trans_alloc_block_size,
|
||||||
&sys_trans_prealloc_size,
|
&sys_trans_prealloc_size,
|
||||||
@ -775,7 +806,7 @@ struct show_var_st init_vars[]= {
|
|||||||
{"auto_increment_offset", (char*) &sys_auto_increment_offset, SHOW_SYS},
|
{"auto_increment_offset", (char*) &sys_auto_increment_offset, SHOW_SYS},
|
||||||
{sys_automatic_sp_privileges.name,(char*) &sys_automatic_sp_privileges, SHOW_SYS},
|
{sys_automatic_sp_privileges.name,(char*) &sys_automatic_sp_privileges, SHOW_SYS},
|
||||||
{"back_log", (char*) &back_log, SHOW_LONG},
|
{"back_log", (char*) &back_log, SHOW_LONG},
|
||||||
{"basedir", mysql_home, SHOW_CHAR},
|
{sys_basedir.name, (char*) &sys_basedir, SHOW_SYS},
|
||||||
#ifdef HAVE_BERKELEY_DB
|
#ifdef HAVE_BERKELEY_DB
|
||||||
{"bdb_cache_size", (char*) &berkeley_cache_size, SHOW_LONG},
|
{"bdb_cache_size", (char*) &berkeley_cache_size, SHOW_LONG},
|
||||||
{"bdb_home", (char*) &berkeley_home, SHOW_CHAR_PTR},
|
{"bdb_home", (char*) &berkeley_home, SHOW_CHAR_PTR},
|
||||||
@ -801,7 +832,7 @@ struct show_var_st init_vars[]= {
|
|||||||
{sys_completion_type.name, (char*) &sys_completion_type, SHOW_SYS},
|
{sys_completion_type.name, (char*) &sys_completion_type, SHOW_SYS},
|
||||||
{sys_concurrent_insert.name,(char*) &sys_concurrent_insert, SHOW_SYS},
|
{sys_concurrent_insert.name,(char*) &sys_concurrent_insert, SHOW_SYS},
|
||||||
{sys_connect_timeout.name, (char*) &sys_connect_timeout, SHOW_SYS},
|
{sys_connect_timeout.name, (char*) &sys_connect_timeout, SHOW_SYS},
|
||||||
{"datadir", mysql_real_data_home, SHOW_CHAR},
|
{sys_datadir.name, (char*) &sys_datadir, SHOW_SYS},
|
||||||
{sys_date_format.name, (char*) &sys_date_format, SHOW_SYS},
|
{sys_date_format.name, (char*) &sys_date_format, SHOW_SYS},
|
||||||
{sys_datetime_format.name, (char*) &sys_datetime_format, SHOW_SYS},
|
{sys_datetime_format.name, (char*) &sys_datetime_format, SHOW_SYS},
|
||||||
{sys_default_week_format.name, (char*) &sys_default_week_format, SHOW_SYS},
|
{sys_default_week_format.name, (char*) &sys_default_week_format, SHOW_SYS},
|
||||||
@ -899,6 +930,8 @@ struct show_var_st init_vars[]= {
|
|||||||
{"log_bin", (char*) &opt_bin_log, SHOW_BOOL},
|
{"log_bin", (char*) &opt_bin_log, SHOW_BOOL},
|
||||||
{sys_trust_function_creators.name,(char*) &sys_trust_function_creators, SHOW_SYS},
|
{sys_trust_function_creators.name,(char*) &sys_trust_function_creators, SHOW_SYS},
|
||||||
{"log_error", (char*) log_error_file, SHOW_CHAR},
|
{"log_error", (char*) log_error_file, SHOW_CHAR},
|
||||||
|
{sys_log_queries_not_using_indexes.name,
|
||||||
|
(char*) &sys_log_queries_not_using_indexes, SHOW_SYS},
|
||||||
#ifdef HAVE_REPLICATION
|
#ifdef HAVE_REPLICATION
|
||||||
{"log_slave_updates", (char*) &opt_log_slave_updates, SHOW_MY_BOOL},
|
{"log_slave_updates", (char*) &opt_log_slave_updates, SHOW_MY_BOOL},
|
||||||
#endif
|
#endif
|
||||||
@ -1017,6 +1050,11 @@ struct show_var_st init_vars[]= {
|
|||||||
{sys_sql_mode.name, (char*) &sys_sql_mode, SHOW_SYS},
|
{sys_sql_mode.name, (char*) &sys_sql_mode, SHOW_SYS},
|
||||||
{"sql_notes", (char*) &sys_sql_notes, SHOW_SYS},
|
{"sql_notes", (char*) &sys_sql_notes, SHOW_SYS},
|
||||||
{"sql_warnings", (char*) &sys_sql_warnings, SHOW_SYS},
|
{"sql_warnings", (char*) &sys_sql_warnings, SHOW_SYS},
|
||||||
|
{sys_ssl_ca.name, (char*) &sys_ssl_ca, SHOW_SYS},
|
||||||
|
{sys_ssl_capath.name, (char*) &sys_ssl_capath, SHOW_SYS},
|
||||||
|
{sys_ssl_cert.name, (char*) &sys_ssl_cert, SHOW_SYS},
|
||||||
|
{sys_ssl_cipher.name, (char*) &sys_ssl_cipher, SHOW_SYS},
|
||||||
|
{sys_ssl_key.name, (char*) &sys_ssl_key, SHOW_SYS},
|
||||||
{sys_storage_engine.name, (char*) &sys_storage_engine, SHOW_SYS},
|
{sys_storage_engine.name, (char*) &sys_storage_engine, SHOW_SYS},
|
||||||
#ifdef HAVE_REPLICATION
|
#ifdef HAVE_REPLICATION
|
||||||
{sys_sync_binlog_period.name,(char*) &sys_sync_binlog_period, SHOW_SYS},
|
{sys_sync_binlog_period.name,(char*) &sys_sync_binlog_period, SHOW_SYS},
|
||||||
@ -1037,7 +1075,7 @@ struct show_var_st init_vars[]= {
|
|||||||
{"time_zone", (char*) &sys_time_zone, SHOW_SYS},
|
{"time_zone", (char*) &sys_time_zone, SHOW_SYS},
|
||||||
{sys_timed_mutexes.name, (char*) &sys_timed_mutexes, SHOW_SYS},
|
{sys_timed_mutexes.name, (char*) &sys_timed_mutexes, SHOW_SYS},
|
||||||
{sys_tmp_table_size.name, (char*) &sys_tmp_table_size, SHOW_SYS},
|
{sys_tmp_table_size.name, (char*) &sys_tmp_table_size, SHOW_SYS},
|
||||||
{"tmpdir", (char*) &opt_mysql_tmpdir, SHOW_CHAR_PTR},
|
{sys_tmpdir.name, (char*) &sys_tmpdir, SHOW_SYS},
|
||||||
{sys_trans_alloc_block_size.name, (char*) &sys_trans_alloc_block_size,
|
{sys_trans_alloc_block_size.name, (char*) &sys_trans_alloc_block_size,
|
||||||
SHOW_SYS},
|
SHOW_SYS},
|
||||||
{sys_trans_prealloc_size.name, (char*) &sys_trans_prealloc_size, SHOW_SYS},
|
{sys_trans_prealloc_size.name, (char*) &sys_trans_prealloc_size, SHOW_SYS},
|
||||||
@ -2863,6 +2901,31 @@ static byte *get_prepared_stmt_count(THD *thd)
|
|||||||
return (byte*) &thd->sys_var_tmp.ulong_value;
|
return (byte*) &thd->sys_var_tmp.ulong_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the tmpdir that was specified or chosen by default
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
get_tmpdir()
|
||||||
|
thd thread handle
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
This is necessary because if the user does not specify a temporary
|
||||||
|
directory via the command line, one is chosen based on the environment
|
||||||
|
or system defaults. But we can't just always use mysql_tmpdir, because
|
||||||
|
that is actually a call to my_tmpdir() which cycles among possible
|
||||||
|
temporary directories.
|
||||||
|
|
||||||
|
RETURN VALUES
|
||||||
|
ptr pointer to NUL-terminated string
|
||||||
|
*/
|
||||||
|
static byte *get_tmpdir(THD *thd)
|
||||||
|
{
|
||||||
|
if (opt_mysql_tmpdir)
|
||||||
|
return (byte *)opt_mysql_tmpdir;
|
||||||
|
return (byte*)mysql_tmpdir;
|
||||||
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
Main handling of variables:
|
Main handling of variables:
|
||||||
- Initialisation
|
- Initialisation
|
||||||
|
@ -222,6 +222,35 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class sys_var_const_str_ptr :public sys_var
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
char **value; // Pointer to const value
|
||||||
|
sys_var_const_str_ptr(const char *name_arg, char **value_arg)
|
||||||
|
:sys_var(name_arg),value(value_arg)
|
||||||
|
{}
|
||||||
|
bool check(THD *thd, set_var *var)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
bool update(THD *thd, set_var *var)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
SHOW_TYPE type() { return SHOW_CHAR; }
|
||||||
|
byte *value_ptr(THD *thd, enum_var_type type, LEX_STRING *base)
|
||||||
|
{
|
||||||
|
return (byte*) *value;
|
||||||
|
}
|
||||||
|
bool check_update_type(Item_result type)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
bool check_default(enum_var_type type) { return 1; }
|
||||||
|
bool is_readonly() const { return 1; }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class sys_var_enum :public sys_var
|
class sys_var_enum :public sys_var
|
||||||
{
|
{
|
||||||
uint *value;
|
uint *value;
|
||||||
|
Reference in New Issue
Block a user