diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc index 02b877d3ec1..680a1069e7f 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc @@ -339,32 +339,6 @@ static bool check_session_admin_privileges_only(sys_var *self [[maybe_unused]], return false; } -/** - Check if SESSION_VARIABLES_ADMIN granted. Throw SQL error if not. - - Use this when setting session variables that are sensitive and should - be protected. - - We also accept SYSTEM_VARIABLES_ADMIN since it doesn't make a lot of - sense to be allowed to set the global variable and not the session ones. - - @retval true failure - @retval false success - - @param self the system variable to set value for - @param thd the session context - @param setv the SET operations metadata - */ -static bool check_session_admin_no_super(sys_var *self, THD *thd, - set_var *setv) { - if (check_session_admin_privileges_only(self, thd, setv)) { - my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), - "SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN"); - return true; - } - return false; -} - /** Check if SESSION_VARIABLES_ADMIN granted. Throw SQL error if not. @@ -1803,7 +1777,7 @@ static Sys_var_ulong Sys_select_into_buffer_size( HINT_UPDATEABLE SESSION_VAR(select_into_buffer_size), CMD_LINE(OPT_ARG), VALID_RANGE(IO_SIZE * 2, INT_MAX32), DEFAULT(128 * 1024), BLOCK_SIZE(IO_SIZE), NO_MUTEX_GUARD, NOT_IN_BINLOG, - ON_CHECK(check_session_admin_no_super)); + ON_CHECK(check_session_admin)); static Sys_var_bool Sys_select_into_disk_sync( "select_into_disk_sync", @@ -1817,7 +1791,7 @@ static Sys_var_uint Sys_select_into_disk_sync_delay( "for SELECT INTO OUTFILE/DUMPFILE. Requires select_into_sync_disk = ON.", HINT_UPDATEABLE SESSION_VAR(select_into_disk_sync_delay), CMD_LINE(OPT_ARG), VALID_RANGE(0, LONG_TIMEOUT), DEFAULT(0), BLOCK_SIZE(1), NO_MUTEX_GUARD, - NOT_IN_BINLOG, ON_CHECK(check_session_admin_no_super)); + NOT_IN_BINLOG, ON_CHECK(check_session_admin)); static bool check_not_null(sys_var *, THD *, set_var *var) { return var->value && var->value->is_null(); @@ -2903,7 +2877,7 @@ static Sys_var_bool Sys_low_priority_updates( "low_priority_updates", "INSERT/DELETE/UPDATE has lower priority than selects", SESSION_VAR(low_priority_updates), CMD_LINE(OPT_ARG), DEFAULT(false), - NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(check_session_admin_no_super), + NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(check_session_admin), ON_UPDATE(fix_low_prio_updates)); static Sys_var_bool Sys_lower_case_file_system( @@ -3029,7 +3003,7 @@ static Sys_var_long Sys_max_digest_length( VALID_RANGE(0, 1024 * 1024), DEFAULT(1024), BLOCK_SIZE(1)); static bool check_max_delayed_threads(sys_var *self, THD *thd, set_var *var) { - if (check_session_admin_no_super(self, thd, var)) return true; + if (check_session_admin(self, thd, var)) return true; return (!var->is_global_persist()) && var->save_result.ulonglong_value != 0 && var->save_result.ulonglong_value != global_system_variables.max_insert_delayed_threads; @@ -3060,7 +3034,7 @@ static Sys_var_ulong Sys_max_error_count( "max_error_count", "Max number of errors/warnings to store for a statement", HINT_UPDATEABLE SESSION_VAR(max_error_count), CMD_LINE(REQUIRED_ARG), VALID_RANGE(0, 65535), DEFAULT(DEFAULT_ERROR_COUNT), BLOCK_SIZE(1), - NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(check_session_admin_no_super)); + NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(check_session_admin)); static Sys_var_ulonglong Sys_max_heap_table_size( "max_heap_table_size", @@ -3186,7 +3160,7 @@ static Sys_var_ulong Sys_min_examined_row_limit( "than that", SESSION_VAR(min_examined_row_limit), CMD_LINE(REQUIRED_ARG), VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1), NO_MUTEX_GUARD, - NOT_IN_BINLOG, ON_CHECK(check_session_admin_no_super)); + NOT_IN_BINLOG, ON_CHECK(check_session_admin)); #ifdef _WIN32 static Sys_var_bool Sys_named_pipe("named_pipe", "Enable the named pipe (NT)", @@ -3650,7 +3624,7 @@ static Sys_var_ulong Sys_preload_buff_size( "The size of the buffer that is allocated when preloading indexes", SESSION_VAR(preload_buff_size), CMD_LINE(REQUIRED_ARG), VALID_RANGE(1024, 1024 * 1024 * 1024), DEFAULT(32768), BLOCK_SIZE(1), - NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(check_session_admin_no_super)); + NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(check_session_admin)); static Sys_var_uint Sys_protocol_version( "protocol_version", @@ -5387,7 +5361,7 @@ static Sys_var_enum Sys_internal_tmp_mem_storage_engine( HINT_UPDATEABLE SESSION_VAR(internal_tmp_mem_storage_engine), CMD_LINE(REQUIRED_ARG), internal_tmp_mem_storage_engine_names, DEFAULT(TMP_TABLE_TEMPTABLE), NO_MUTEX_GUARD, NOT_IN_BINLOG, - ON_CHECK(check_session_admin_no_super)); + ON_CHECK(check_session_admin)); static Sys_var_ulonglong Sys_temptable_max_ram( "temptable_max_ram", @@ -7020,7 +6994,7 @@ static Sys_var_bool Sys_show_old_temporals( "This variable is deprecated and will be removed in a future release.", SESSION_VAR(show_old_temporals), CMD_LINE(OPT_ARG, OPT_SHOW_OLD_TEMPORALS), DEFAULT(false), NO_MUTEX_GUARD, NOT_IN_BINLOG, - ON_CHECK(check_session_admin_no_super), ON_UPDATE(nullptr), + ON_CHECK(check_session_admin), ON_UPDATE(nullptr), DEPRECATED_VAR("")); static Sys_var_charptr Sys_disabled_storage_engines(