mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
References: MDEV-4572 - merge with mariaDB 5.5.31
bzr merge lp:maria/5.5 -rtag:mariadb-5.5.31 Text conflict in cmake/cpack_rpm.cmake Text conflict in debian/dist/Debian/control Text conflict in debian/dist/Ubuntu/control Text conflict in sql/CMakeLists.txt Conflict adding file sql/db.opt. Moved existing file to sql/db.opt.moved. Conflict adding file sql/db.opt.moved. Moved existing file to sql/db.opt.moved.moved. Text conflict in sql/mysqld.cc Text conflict in support-files/mysql.spec.sh 8 conflicts encountered.
This commit is contained in:
@ -1715,7 +1715,8 @@ void log_slow_statement(THD *thd)
|
||||
|
||||
/* Follow the slow log filter configuration. */
|
||||
if (!thd->enable_slow_log ||
|
||||
!(thd->variables.log_slow_filter & thd->query_plan_flags))
|
||||
(thd->variables.log_slow_filter
|
||||
&& !(thd->variables.log_slow_filter & thd->query_plan_flags)))
|
||||
DBUG_VOID_RETURN;
|
||||
|
||||
if (((thd->server_status & SERVER_QUERY_WAS_SLOW) ||
|
||||
@ -1848,7 +1849,7 @@ int prepare_schema_table(THD *thd, LEX *lex, Table_ident *table_ident,
|
||||
break;
|
||||
case SCH_USER_STATS:
|
||||
case SCH_CLIENT_STATS:
|
||||
if (check_global_access(thd, SUPER_ACL | PROCESS_ACL))
|
||||
if (check_global_access(thd, SUPER_ACL | PROCESS_ACL, true))
|
||||
DBUG_RETURN(1);
|
||||
case SCH_TABLE_STATS:
|
||||
case SCH_INDEX_STATS:
|
||||
@ -2023,7 +2024,7 @@ bool sp_process_definer(THD *thd)
|
||||
if ((strcmp(lex->definer->user.str, thd->security_ctx->priv_user) ||
|
||||
my_strcasecmp(system_charset_info, lex->definer->host.str,
|
||||
thd->security_ctx->priv_host)) &&
|
||||
check_global_access(thd, SUPER_ACL))
|
||||
check_global_access(thd, SUPER_ACL, true))
|
||||
{
|
||||
my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER");
|
||||
DBUG_RETURN(TRUE);
|
||||
@ -5692,14 +5693,17 @@ bool check_some_access(THD *thd, ulong want_access, TABLE_LIST *table)
|
||||
1 Access denied. In this case an error is sent to the client
|
||||
*/
|
||||
|
||||
bool check_global_access(THD *thd, ulong want_access)
|
||||
bool check_global_access(THD *thd, ulong want_access, bool no_errors)
|
||||
{
|
||||
#ifndef NO_EMBEDDED_ACCESS_CHECKS
|
||||
char command[128];
|
||||
if ((thd->security_ctx->master_access & want_access))
|
||||
return 0;
|
||||
get_privilege_desc(command, sizeof(command), want_access);
|
||||
my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), command);
|
||||
if (!no_errors)
|
||||
{
|
||||
get_privilege_desc(command, sizeof(command), want_access);
|
||||
my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), command);
|
||||
}
|
||||
status_var_increment(thd->status_var.access_denied_errors);
|
||||
return 1;
|
||||
#else
|
||||
|
Reference in New Issue
Block a user