diff options
author | unknown <jimw@mysql.com> | 2006-05-08 16:38:45 -0700 |
---|---|---|
committer | unknown <jimw@mysql.com> | 2006-05-08 16:38:45 -0700 |
commit | c06972bf2a9e9739c0eb926c6f750b8990fd4c17 (patch) | |
tree | 61a75e4b77c3ded4e660e42076b4d7cc71af45ab /sql/set_var.h | |
parent | 47302570e639927b258e10a7c009e6d585ba8adf (diff) | |
download | mariadb-git-c06972bf2a9e9739c0eb926c6f750b8990fd4c17.tar.gz |
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.
Diffstat (limited to 'sql/set_var.h')
-rw-r--r-- | sql/set_var.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sql/set_var.h b/sql/set_var.h index 646a578ca36..8e5a94b1e1b 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -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; |