mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-4549 [PATCH] Clean up code working with ACL tables
* enum values to index different ACL tables, instead of hard-coded numbers (even different in diffent functions). * move TABLE_LIST initialization into open_grant_tables() and use it everywhere * change few my_bool's to bool's
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
call mtr.add_suppression("Can't open and lock privilege tables: Table 'host' was not locked with LOCK TABLES");
|
||||
call mtr.add_suppression("Can't open and lock privilege tables: Table 'user' was not locked with LOCK TABLES");
|
||||
SHOW VARIABLES like 'slave_skip_errors';
|
||||
Variable_name Value
|
||||
slave_skip_errors OFF
|
||||
@ -16,7 +16,7 @@ DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (c1 INT);
|
||||
LOCK TABLES t1 READ;
|
||||
FLUSH PRIVILEGES;
|
||||
ERROR HY000: Table 'host' was not locked with LOCK TABLES
|
||||
ERROR HY000: Table 'user' was not locked with LOCK TABLES
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
|
@ -128,11 +128,8 @@ CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
||||
RENAME TABLE mysql.procs_priv TO procs_priv_backup;
|
||||
FLUSH TABLE mysql.procs_priv;
|
||||
DROP FUNCTION f1;
|
||||
ERROR 42S02: Table 'mysql.procs_priv' doesn't exist
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Error 1146 Table 'mysql.procs_priv' doesn't exist
|
||||
Warning 1405 Failed to revoke all privileges to dropped routine
|
||||
# Restore the procs_priv table
|
||||
RENAME TABLE procs_priv_backup TO mysql.procs_priv;
|
||||
FLUSH TABLE mysql.procs_priv;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
call mtr.add_suppression("Can't open and lock privilege tables: Table 'host' was not locked with LOCK TABLES");
|
||||
call mtr.add_suppression("Can't open and lock privilege tables: Table 'user' was not locked with LOCK TABLES");
|
||||
|
||||
#
|
||||
# Bug#43835: SHOW VARIABLES does not include 0 for slave_skip_errors
|
||||
|
@ -214,7 +214,6 @@ RENAME TABLE mysql.procs_priv TO procs_priv_backup;
|
||||
FLUSH TABLE mysql.procs_priv;
|
||||
|
||||
# DROP FUNCTION used to cause an assert.
|
||||
--error ER_NO_SUCH_TABLE
|
||||
DROP FUNCTION f1;
|
||||
SHOW WARNINGS;
|
||||
|
||||
|
660
sql/sql_acl.cc
660
sql/sql_acl.cc
File diff suppressed because it is too large
Load Diff
@ -197,8 +197,8 @@ static inline int access_denied_error_code(int passwd_used)
|
||||
/* prototypes */
|
||||
|
||||
bool hostname_requires_resolving(const char *hostname);
|
||||
my_bool acl_init(bool dont_read_acl_tables);
|
||||
my_bool acl_reload(THD *thd);
|
||||
bool acl_init(bool dont_read_acl_tables);
|
||||
bool acl_reload(THD *thd);
|
||||
void acl_free(bool end=0);
|
||||
ulong acl_get(const char *host, const char *ip,
|
||||
const char *user, const char *db, my_bool db_is_pattern);
|
||||
@ -220,9 +220,9 @@ int mysql_table_grant(THD *thd, TABLE_LIST *table, List <LEX_USER> &user_list,
|
||||
bool mysql_routine_grant(THD *thd, TABLE_LIST *table, bool is_proc,
|
||||
List <LEX_USER> &user_list, ulong rights,
|
||||
bool revoke, bool write_to_binlog);
|
||||
my_bool grant_init();
|
||||
bool grant_init();
|
||||
void grant_free(void);
|
||||
my_bool grant_reload(THD *thd);
|
||||
bool grant_reload(THD *thd);
|
||||
bool check_grant(THD *thd, ulong want_access, TABLE_LIST *tables,
|
||||
bool any_combination_will_do, uint number, bool no_errors);
|
||||
bool check_grant_column (THD *thd, GRANT_INFO *grant,
|
||||
|
Reference in New Issue
Block a user