mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug #12792: @@system_time_zone is not SELECTable
Bug #15684: @@version_* are not all SELECTable Added the appropriate information as read-only system variables, and also removed some special-case handling of @@version along the way. @@version_bdb was added, but isn't included in the test because it depends on the presence of BDB.
This commit is contained in:
@ -275,7 +275,7 @@ ERROR HY000: Variable 'autocommit' is a SESSION variable and can't be used with
|
|||||||
select @@global.timestamp;
|
select @@global.timestamp;
|
||||||
ERROR HY000: Variable 'timestamp' is a SESSION variable
|
ERROR HY000: Variable 'timestamp' is a SESSION variable
|
||||||
set @@version='';
|
set @@version='';
|
||||||
ERROR HY000: Unknown system variable 'version'
|
ERROR HY000: Variable 'version' is a read only variable
|
||||||
set @@concurrent_insert=1;
|
set @@concurrent_insert=1;
|
||||||
ERROR HY000: Variable 'concurrent_insert' is a GLOBAL variable and should be set with SET GLOBAL
|
ERROR HY000: Variable 'concurrent_insert' is a GLOBAL variable and should be set with SET GLOBAL
|
||||||
set @@global.sql_auto_is_null=1;
|
set @@global.sql_auto_is_null=1;
|
||||||
@ -384,6 +384,7 @@ select @@sql_max_join_size,@@max_join_size;
|
|||||||
set sql_quote_show_create=1;
|
set sql_quote_show_create=1;
|
||||||
set sql_safe_updates=1;
|
set sql_safe_updates=1;
|
||||||
set sql_select_limit=1;
|
set sql_select_limit=1;
|
||||||
|
set sql_select_limit=default;
|
||||||
set sql_warnings=1;
|
set sql_warnings=1;
|
||||||
set global table_cache=100;
|
set global table_cache=100;
|
||||||
set storage_engine=myisam;
|
set storage_engine=myisam;
|
||||||
@ -584,3 +585,11 @@ set @@global.character_set_filesystem=default;
|
|||||||
select @@global.character_set_filesystem;
|
select @@global.character_set_filesystem;
|
||||||
@@global.character_set_filesystem
|
@@global.character_set_filesystem
|
||||||
binary
|
binary
|
||||||
|
select @@system_time_zone;
|
||||||
|
@@system_time_zone
|
||||||
|
#
|
||||||
|
select @@version, @@version_comment, @@version_compile_machine,
|
||||||
|
@@version_compile_os;
|
||||||
|
@@version @@version_comment @@version_compile_machine @@version_compile_os
|
||||||
|
# # # #
|
||||||
|
End of 5.0 tests
|
||||||
|
@ -169,7 +169,7 @@ set collation_connection=NULL;
|
|||||||
set global autocommit=1;
|
set global autocommit=1;
|
||||||
--error 1238
|
--error 1238
|
||||||
select @@global.timestamp;
|
select @@global.timestamp;
|
||||||
--error 1193
|
--error 1238
|
||||||
set @@version='';
|
set @@version='';
|
||||||
--error 1229
|
--error 1229
|
||||||
set @@concurrent_insert=1;
|
set @@concurrent_insert=1;
|
||||||
@ -258,6 +258,8 @@ select @@sql_max_join_size,@@max_join_size;
|
|||||||
set sql_quote_show_create=1;
|
set sql_quote_show_create=1;
|
||||||
set sql_safe_updates=1;
|
set sql_safe_updates=1;
|
||||||
set sql_select_limit=1;
|
set sql_select_limit=1;
|
||||||
|
# reset it, so later tests don't get confused
|
||||||
|
set sql_select_limit=default;
|
||||||
set sql_warnings=1;
|
set sql_warnings=1;
|
||||||
set global table_cache=100;
|
set global table_cache=100;
|
||||||
set storage_engine=myisam;
|
set storage_engine=myisam;
|
||||||
@ -472,4 +474,19 @@ select @@character_set_filesystem;
|
|||||||
set @@global.character_set_filesystem=default;
|
set @@global.character_set_filesystem=default;
|
||||||
select @@global.character_set_filesystem;
|
select @@global.character_set_filesystem;
|
||||||
|
|
||||||
# End of 5.0 tests
|
#
|
||||||
|
# Bug #12792: @@system_time_zone is not SELECTable.
|
||||||
|
#
|
||||||
|
# Don't actually output, since it depends on the system
|
||||||
|
--replace_column 1 #
|
||||||
|
select @@system_time_zone;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #15684: system variables cannot be SELECTed (e.g. @@version_comment)
|
||||||
|
#
|
||||||
|
# Don't actually output, since it depends on the system
|
||||||
|
--replace_column 1 # 2 # 3 # 4 #
|
||||||
|
select @@version, @@version_comment, @@version_compile_machine,
|
||||||
|
@@version_compile_os;
|
||||||
|
|
||||||
|
--echo End of 5.0 tests
|
||||||
|
@ -4558,12 +4558,6 @@ Item *get_system_var(THD *thd, enum_var_type var_type, LEX_STRING name,
|
|||||||
sys_var *var;
|
sys_var *var;
|
||||||
LEX_STRING *base_name, *component_name;
|
LEX_STRING *base_name, *component_name;
|
||||||
|
|
||||||
if (component.str == 0 &&
|
|
||||||
!my_strcasecmp(system_charset_info, name.str, "VERSION"))
|
|
||||||
return new Item_string(NULL, server_version,
|
|
||||||
(uint) strlen(server_version),
|
|
||||||
system_charset_info, DERIVATION_SYSCONST);
|
|
||||||
|
|
||||||
if (component.str)
|
if (component.str)
|
||||||
{
|
{
|
||||||
base_name= &component;
|
base_name= &component;
|
||||||
|
@ -377,6 +377,8 @@ sys_var_thd_table_type sys_table_type("table_type",
|
|||||||
sys_var_thd_storage_engine sys_storage_engine("storage_engine",
|
sys_var_thd_storage_engine sys_storage_engine("storage_engine",
|
||||||
&SV::table_type);
|
&SV::table_type);
|
||||||
sys_var_bool_ptr sys_sync_frm("sync_frm", &opt_sync_frm);
|
sys_var_bool_ptr sys_sync_frm("sync_frm", &opt_sync_frm);
|
||||||
|
sys_var_const_str sys_system_time_zone("system_time_zone",
|
||||||
|
system_time_zone);
|
||||||
sys_var_long_ptr sys_table_cache_size("table_cache",
|
sys_var_long_ptr sys_table_cache_size("table_cache",
|
||||||
&table_cache_size);
|
&table_cache_size);
|
||||||
sys_var_long_ptr sys_table_lock_wait_timeout("table_lock_wait_timeout",
|
sys_var_long_ptr sys_table_lock_wait_timeout("table_lock_wait_timeout",
|
||||||
@ -391,6 +393,16 @@ sys_var_thd_ulong sys_tmp_table_size("tmp_table_size",
|
|||||||
&SV::tmp_table_size);
|
&SV::tmp_table_size);
|
||||||
sys_var_bool_ptr sys_timed_mutexes("timed_mutexes",
|
sys_var_bool_ptr sys_timed_mutexes("timed_mutexes",
|
||||||
&timed_mutexes);
|
&timed_mutexes);
|
||||||
|
sys_var_const_str sys_version("version", server_version);
|
||||||
|
#ifdef HAVE_BERKELEY_DB
|
||||||
|
sys_var_const_str sys_version_bdb("version_bdb", DB_VERSION_STRING);
|
||||||
|
#endif
|
||||||
|
sys_var_const_str sys_version_comment("version_comment",
|
||||||
|
MYSQL_COMPILATION_COMMENT);
|
||||||
|
sys_var_const_str sys_version_compile_machine("version_compile_machine",
|
||||||
|
MACHINE_TYPE);
|
||||||
|
sys_var_const_str sys_version_compile_os("version_compile_os",
|
||||||
|
SYSTEM_TYPE);
|
||||||
sys_var_thd_ulong sys_net_wait_timeout("wait_timeout",
|
sys_var_thd_ulong sys_net_wait_timeout("wait_timeout",
|
||||||
&SV::net_wait_timeout);
|
&SV::net_wait_timeout);
|
||||||
|
|
||||||
@ -546,7 +558,6 @@ sys_var_thd_time_zone sys_time_zone("time_zone");
|
|||||||
|
|
||||||
/* Read only variables */
|
/* Read only variables */
|
||||||
|
|
||||||
sys_var_const_str sys_os("version_compile_os", SYSTEM_TYPE);
|
|
||||||
sys_var_readonly sys_have_innodb("have_innodb", OPT_GLOBAL,
|
sys_var_readonly sys_have_innodb("have_innodb", OPT_GLOBAL,
|
||||||
SHOW_CHAR, get_have_innodb);
|
SHOW_CHAR, get_have_innodb);
|
||||||
/* Global read-only variable describing server license */
|
/* Global read-only variable describing server license */
|
||||||
@ -698,6 +709,7 @@ sys_var *sys_variables[]=
|
|||||||
&sys_sql_notes,
|
&sys_sql_notes,
|
||||||
&sys_storage_engine,
|
&sys_storage_engine,
|
||||||
&sys_sync_frm,
|
&sys_sync_frm,
|
||||||
|
&sys_system_time_zone,
|
||||||
&sys_table_cache_size,
|
&sys_table_cache_size,
|
||||||
&sys_table_lock_wait_timeout,
|
&sys_table_lock_wait_timeout,
|
||||||
&sys_table_type,
|
&sys_table_type,
|
||||||
@ -710,7 +722,13 @@ sys_var *sys_variables[]=
|
|||||||
&sys_trans_alloc_block_size,
|
&sys_trans_alloc_block_size,
|
||||||
&sys_trans_prealloc_size,
|
&sys_trans_prealloc_size,
|
||||||
&sys_tx_isolation,
|
&sys_tx_isolation,
|
||||||
&sys_os,
|
&sys_version,
|
||||||
|
#ifdef HAVE_BERKELEY_DB
|
||||||
|
&sys_version_bdb,
|
||||||
|
#endif
|
||||||
|
&sys_version_comment,
|
||||||
|
&sys_version_compile_machine,
|
||||||
|
&sys_version_compile_os,
|
||||||
#ifdef HAVE_INNOBASE_DB
|
#ifdef HAVE_INNOBASE_DB
|
||||||
&sys_innodb_fast_shutdown,
|
&sys_innodb_fast_shutdown,
|
||||||
&sys_innodb_max_dirty_pages_pct,
|
&sys_innodb_max_dirty_pages_pct,
|
||||||
@ -1015,13 +1033,14 @@ struct show_var_st init_vars[]= {
|
|||||||
{sys_tx_isolation.name, (char*) &sys_tx_isolation, SHOW_SYS},
|
{sys_tx_isolation.name, (char*) &sys_tx_isolation, SHOW_SYS},
|
||||||
{sys_updatable_views_with_limit.name,
|
{sys_updatable_views_with_limit.name,
|
||||||
(char*) &sys_updatable_views_with_limit,SHOW_SYS},
|
(char*) &sys_updatable_views_with_limit,SHOW_SYS},
|
||||||
{"version", server_version, SHOW_CHAR},
|
{sys_version.name, (char*) &sys_version, SHOW_SYS},
|
||||||
#ifdef HAVE_BERKELEY_DB
|
#ifdef HAVE_BERKELEY_DB
|
||||||
{"version_bdb", (char*) DB_VERSION_STRING, SHOW_CHAR},
|
{sys_version_bdb.name, (char*) &sys_version_bdb, SHOW_SYS},
|
||||||
#endif
|
#endif
|
||||||
{"version_comment", (char*) MYSQL_COMPILATION_COMMENT, SHOW_CHAR},
|
{sys_version_comment.name, (char*) &sys_version_comment, SHOW_SYS},
|
||||||
{"version_compile_machine", (char*) MACHINE_TYPE, SHOW_CHAR},
|
{sys_version_compile_machine.name, (char*) &sys_version_compile_machine,
|
||||||
{sys_os.name, (char*) &sys_os, SHOW_SYS},
|
SHOW_SYS},
|
||||||
|
{sys_version_compile_os.name, (char*) &sys_version_compile_os, SHOW_SYS},
|
||||||
{sys_net_wait_timeout.name, (char*) &sys_net_wait_timeout, SHOW_SYS},
|
{sys_net_wait_timeout.name, (char*) &sys_net_wait_timeout, SHOW_SYS},
|
||||||
{NullS, NullS, SHOW_LONG}
|
{NullS, NullS, SHOW_LONG}
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user