mirror of
https://github.com/MariaDB/server.git
synced 2026-05-14 19:07:15 +02: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). include/sslopt-longopts.h: Put options in alphabetical order include/sslopt-vars.h: Allow define of SSL_VARS_NOT_STATIC to prevent variables from not being made static. mysql-test/r/variables.result: Add new results mysql-test/t/variables.test: Add new regression tests sql/mysql_priv.h: Add extern for opt_log_queries_not_using_indexes sql/mysqld.cc: Handle opt_log_queries_not_using_indexes as extern, and define SSL_VARS_NO_STATIC so they can be accessed outside of mysqld.cc sql/set_var.cc: Handle basedir, datadir, tmpdir, log_queries_not_using_indexes, and various ssl settings so that they are accessible as server variables and listed in SHOW VARIABLES. sql/set_var.h: Add new sys_var_constr_str_ptr class, for when we have a system variable that is only set via the command-line that is a pointer to a string.
This commit is contained in:
parent
47302570e6
commit
c06972bf2a
8 changed files with 173 additions and 16 deletions
|
|
@ -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
|
||||
{
|
||||
uint *value;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue