Loading sql/sql_parse.cc +6 −0 Original line number Diff line number Diff line Loading @@ -3770,6 +3770,7 @@ mysql_execute_command(THD *thd) lex->unit.cleanup(); delete lex->sphead; lex->sphead= 0; #ifndef NO_EMBEDDED_ACCESS_CHECKS /* only add privileges if really neccessary */ if (sp_automatic_privileges && check_procedure_access(thd, DEFAULT_CREATE_PROC_ACLS, Loading @@ -3781,6 +3782,7 @@ mysql_execute_command(THD *thd) ER_PROC_AUTO_GRANT_FAIL, ER(ER_PROC_AUTO_GRANT_FAIL)); } #endif send_ok(thd); break; case SP_WRITE_ROW_FAILED: Loading Loading @@ -3956,6 +3958,7 @@ mysql_execute_command(THD *thd) name= thd->strdup(sp->m_name.str); if (check_procedure_access(thd, ALTER_PROC_ACL, db, name, 0)) goto error; #ifndef NO_EMBEDDED_ACCESS_CHECKS if (sp_automatic_privileges && sp_revoke_privileges(thd, db, name)) { Loading @@ -3963,6 +3966,7 @@ mysql_execute_command(THD *thd) ER_PROC_AUTO_REVOKE_FAIL, ER(ER_PROC_AUTO_REVOKE_FAIL)); } #endif if (lex->sql_command == SQLCOM_DROP_PROCEDURE) result= sp_drop_procedure(thd, lex->spname); else Loading Loading @@ -4383,8 +4387,10 @@ check_procedure_access(THD *thd, ulong want_access,char *db, char *name, 0, no_errors)) return TRUE; #ifndef NO_EMBEDDED_ACCESS_CHECKS if (grant_option) return check_grant_procedure(thd, want_access, tables, no_errors); #endif return FALSE; } Loading Loading
sql/sql_parse.cc +6 −0 Original line number Diff line number Diff line Loading @@ -3770,6 +3770,7 @@ mysql_execute_command(THD *thd) lex->unit.cleanup(); delete lex->sphead; lex->sphead= 0; #ifndef NO_EMBEDDED_ACCESS_CHECKS /* only add privileges if really neccessary */ if (sp_automatic_privileges && check_procedure_access(thd, DEFAULT_CREATE_PROC_ACLS, Loading @@ -3781,6 +3782,7 @@ mysql_execute_command(THD *thd) ER_PROC_AUTO_GRANT_FAIL, ER(ER_PROC_AUTO_GRANT_FAIL)); } #endif send_ok(thd); break; case SP_WRITE_ROW_FAILED: Loading Loading @@ -3956,6 +3958,7 @@ mysql_execute_command(THD *thd) name= thd->strdup(sp->m_name.str); if (check_procedure_access(thd, ALTER_PROC_ACL, db, name, 0)) goto error; #ifndef NO_EMBEDDED_ACCESS_CHECKS if (sp_automatic_privileges && sp_revoke_privileges(thd, db, name)) { Loading @@ -3963,6 +3966,7 @@ mysql_execute_command(THD *thd) ER_PROC_AUTO_REVOKE_FAIL, ER(ER_PROC_AUTO_REVOKE_FAIL)); } #endif if (lex->sql_command == SQLCOM_DROP_PROCEDURE) result= sp_drop_procedure(thd, lex->spname); else Loading Loading @@ -4383,8 +4387,10 @@ check_procedure_access(THD *thd, ulong want_access,char *db, char *name, 0, no_errors)) return TRUE; #ifndef NO_EMBEDDED_ACCESS_CHECKS if (grant_option) return check_grant_procedure(thd, want_access, tables, no_errors); #endif return FALSE; } Loading