MySQL 8.3.0
Source Code Documentation
ACL_internal_schema_access Class Referenceabstract

Per internal schema ACL access rules. More...

#include <auth_common.h>

Inheritance diagram for ACL_internal_schema_access:
[legend]

Public Member Functions

 ACL_internal_schema_access ()=default
 
virtual ~ACL_internal_schema_access ()=default
 
virtual ACL_internal_access_result check (ulong want_access, ulong *save_priv, bool any_combination_will_do) const =0
 Check access to an internal schema. More...
 
virtual const ACL_internal_table_accesslookup (const char *name) const =0
 Search for per table ACL access rules by table name. More...
 

Detailed Description

Per internal schema ACL access rules.

This class is an interface. Each per schema specific access rule should be implemented in a different subclass, and registered. Per schema access rules can control:

  • every schema privileges on schema.*
  • every table privileges on schema.table
    See also
    ACL_internal_schema_registry

Constructor & Destructor Documentation

◆ ACL_internal_schema_access()

ACL_internal_schema_access::ACL_internal_schema_access ( )
default

◆ ~ACL_internal_schema_access()

virtual ACL_internal_schema_access::~ACL_internal_schema_access ( )
virtualdefault

Member Function Documentation

◆ check()

virtual ACL_internal_access_result ACL_internal_schema_access::check ( ulong  want_access,
ulong *  save_priv,
bool  any_combination_will_do 
) const
pure virtual

Check access to an internal schema.

Parameters
want_accessthe privileges requested
[in,out]save_privthe privileges granted
any_combination_will_dotrue if it's enough to have any privilege for any combination of the table columns.
Return values
ACL_INTERNAL_ACCESS_GRANTEDAll the requested privileges are granted, and saved in save_priv.
ACL_INTERNAL_ACCESS_DENIEDAt least one of the requested privileges was denied.
ACL_INTERNAL_ACCESS_CHECK_GRANTNo requested privilege was denied, and grant should be checked for at least one privilege. Requested privileges that are granted, if any, are saved in save_priv.

Implemented in IS_internal_schema_access, and PFS_internal_schema_access.

◆ lookup()

virtual const ACL_internal_table_access * ACL_internal_schema_access::lookup ( const char *  name) const
pure virtual

Search for per table ACL access rules by table name.

Parameters
namethe table name
Returns
per table access rules, or NULL

Implemented in IS_internal_schema_access, and PFS_internal_schema_access.


The documentation for this class was generated from the following file: