MySQL 8.0.39
Source Code Documentation
acl_table Namespace Reference

Namespaces

namespace  anonymous_namespace{acl_table_user.cc}
 

Classes

class  Acl_table
 Base class to handle ACL table manipulation. More...
 
class  Acl_table_user_reader
 mysql.user table reader. More...
 
class  Acl_table_user_writer
 
class  Acl_table_user_writer_status
 mysql.user table writer. More...
 
class  Acl_user_attributes
 Class to handle information stored in mysql.user.user_attributes. More...
 
struct  Password_lock
 
class  Pod_user_what_to_update
 

Typedefs

typedef int Table_op_error_code
 
using acl_table_user_writer_status = std::pair< Table_op_error_code, struct timeval >
 

Enumerations

enum class  Acl_table_op_status { OP_ERROR_CRITICAL = 0 , OP_OK , OP_ERROR_ROW }
 
enum class  Acl_table_operation { OP_INSERT = 0 , OP_UPDATE , OP_DELETE , OP_READ }
 
enum class  User_attribute_type {
  ADDITIONAL_PASSWORD = 0 , RESTRICTIONS , PASSWORD_LOCKING , METADATA ,
  COMMENT , MULTI_FACTOR_AUTHENTICATION_DATA
}
 

Variables

static std::map< const User_attribute_type, const std::string > attribute_type_to_str
 Keys used in mysql.user.user_attributes. More...
 
const ulong USER_ATTRIBUTE_NONE = 0L
 
const ulong USER_ATTRIBUTE_RETAIN_PASSWORD = (1L << 0)
 
const ulong USER_ATTRIBUTE_DISCARD_PASSWORD = (1L << 1)
 
const ulong USER_ATTRIBUTE_RESTRICTIONS = (1L << 3)
 
const ulong USER_ATTRIBUTE_FAILED_LOGIN_ATTEMPTS = (1L << 4)
 
const ulong USER_ATTRIBUTE_PASSWORD_LOCK_TIME = (1L << 5)
 
const ulong USER_ATTRIBUTE_UPDATE_MFA = (1L << 6)
 

Typedef Documentation

◆ acl_table_user_writer_status

using acl_table::acl_table_user_writer_status = typedef std::pair<Table_op_error_code, struct timeval>

◆ Table_op_error_code

Enumeration Type Documentation

◆ Acl_table_op_status

enum class acl_table::Acl_table_op_status
strong
Enumerator
OP_ERROR_CRITICAL 
OP_OK 
OP_ERROR_ROW 

◆ Acl_table_operation

enum class acl_table::Acl_table_operation
strong
Enumerator
OP_INSERT 
OP_UPDATE 
OP_DELETE 
OP_READ 

◆ User_attribute_type

enum class acl_table::User_attribute_type
strong
Enumerator
ADDITIONAL_PASSWORD 
RESTRICTIONS 
PASSWORD_LOCKING 
METADATA 
COMMENT 
MULTI_FACTOR_AUTHENTICATION_DATA 

Variable Documentation

◆ attribute_type_to_str

std::map<const User_attribute_type, const std::string> acl_table::attribute_type_to_str
static
Initial value:
= {
{User_attribute_type::ADDITIONAL_PASSWORD, consts::additional_password},
{User_attribute_type::RESTRICTIONS, consts::Restrictions},
{User_attribute_type::PASSWORD_LOCKING, consts::Password_locking},
{User_attribute_type::MULTI_FACTOR_AUTHENTICATION_DATA,
#define COMMENT
Definition: azio.cc:38
#define METADATA(key, value)
Adds a Service requirement with a pointer to placeholder to the list of components.
Definition: component_implementation.h:375
const std::string Password_locking("Password_locking")
for password locking
const std::string json_comment_tag("comment")
comment tag
const std::string json_metadata_tag("metadata")
metadata tag
const std::string additional_password("additional_password")
For secondary password.
const std::string Restrictions("Restrictions")
For partial revokes.
const std::string json_multi_factor_authentication("multi_factor_authentication")
multi factor authentication methods

Keys used in mysql.user.user_attributes.

◆ USER_ATTRIBUTE_DISCARD_PASSWORD

const ulong acl_table::USER_ATTRIBUTE_DISCARD_PASSWORD = (1L << 1)

◆ USER_ATTRIBUTE_FAILED_LOGIN_ATTEMPTS

const ulong acl_table::USER_ATTRIBUTE_FAILED_LOGIN_ATTEMPTS = (1L << 4)

◆ USER_ATTRIBUTE_NONE

const ulong acl_table::USER_ATTRIBUTE_NONE = 0L

◆ USER_ATTRIBUTE_PASSWORD_LOCK_TIME

const ulong acl_table::USER_ATTRIBUTE_PASSWORD_LOCK_TIME = (1L << 5)

◆ USER_ATTRIBUTE_RESTRICTIONS

const ulong acl_table::USER_ATTRIBUTE_RESTRICTIONS = (1L << 3)

◆ USER_ATTRIBUTE_RETAIN_PASSWORD

const ulong acl_table::USER_ATTRIBUTE_RETAIN_PASSWORD = (1L << 0)

◆ USER_ATTRIBUTE_UPDATE_MFA

const ulong acl_table::USER_ATTRIBUTE_UPDATE_MFA = (1L << 6)